diff --git a/ASN/Goedel.Tool.ASN/Asn2.cs b/ASN/Goedel.Tool.ASN/Asn2.cs
index 5ccc8004b..583a4f31e 100644
--- a/ASN/Goedel.Tool.ASN/Asn2.cs
+++ b/ASN/Goedel.Tool.ASN/Asn2.cs
@@ -125,6 +125,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/ASN/Goedel.Tool.ASN/Goedel.Tool.ASN.csproj b/ASN/Goedel.Tool.ASN/Goedel.Tool.ASN.csproj
index cde5d4186..5d048c752 100644
--- a/ASN/Goedel.Tool.ASN/Goedel.Tool.ASN.csproj
+++ b/ASN/Goedel.Tool.ASN/Goedel.Tool.ASN.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.ASN
diff --git a/ASN/asn2/AssemblyVersion.cs b/ASN/asn2/AssemblyVersion.cs
index 7f91a82f8..a8ec6f07a 100644
--- a/ASN/asn2/AssemblyVersion.cs
+++ b/ASN/asn2/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.514")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.514")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.543")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.543")]
diff --git a/ASN/asn2/asn2.csproj b/ASN/asn2/asn2.csproj
index 127553987..cf1e683b0 100644
--- a/ASN/asn2/asn2.csproj
+++ b/ASN/asn2/asn2.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/ASN/asn2/version.version b/ASN/asn2/version.version
index 7fd034ae1..bed734cb8 100644
--- a/ASN/asn2/version.version
+++ b/ASN/asn2/version.version
@@ -1,2 +1,2 @@
-3.0.0.514
-3.0.0.514
+3.0.0.543
+3.0.0.543
diff --git a/BuildTools.sln b/BuildTools.sln
index 77aaf5c96..516f0e859 100644
--- a/BuildTools.sln
+++ b/BuildTools.sln
@@ -196,6 +196,8 @@ Global
Publish|x86 = Publish|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
+ Yaschema|Any CPU = Yaschema|Any CPU
+ Yaschema|x86 = Yaschema|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{54D70C8D-707D-4456-BBD0-3210F42CA97C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -218,6 +220,9 @@ Global
{54D70C8D-707D-4456-BBD0-3210F42CA97C}.Release|Any CPU.Build.0 = Release|Any CPU
{54D70C8D-707D-4456-BBD0-3210F42CA97C}.Release|x86.ActiveCfg = Release|Any CPU
{54D70C8D-707D-4456-BBD0-3210F42CA97C}.Release|x86.Build.0 = Release|Any CPU
+ {54D70C8D-707D-4456-BBD0-3210F42CA97C}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {54D70C8D-707D-4456-BBD0-3210F42CA97C}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {54D70C8D-707D-4456-BBD0-3210F42CA97C}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{85063EFC-7090-42AD-B562-006087DE9AA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{85063EFC-7090-42AD-B562-006087DE9AA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{85063EFC-7090-42AD-B562-006087DE9AA6}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -238,6 +243,9 @@ Global
{85063EFC-7090-42AD-B562-006087DE9AA6}.Release|Any CPU.Build.0 = Release|Any CPU
{85063EFC-7090-42AD-B562-006087DE9AA6}.Release|x86.ActiveCfg = Release|Any CPU
{85063EFC-7090-42AD-B562-006087DE9AA6}.Release|x86.Build.0 = Release|Any CPU
+ {85063EFC-7090-42AD-B562-006087DE9AA6}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {85063EFC-7090-42AD-B562-006087DE9AA6}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {85063EFC-7090-42AD-B562-006087DE9AA6}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{4256F87B-9BA6-4996-A4DD-DC1E36136054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4256F87B-9BA6-4996-A4DD-DC1E36136054}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4256F87B-9BA6-4996-A4DD-DC1E36136054}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -258,6 +266,9 @@ Global
{4256F87B-9BA6-4996-A4DD-DC1E36136054}.Release|Any CPU.Build.0 = Release|Any CPU
{4256F87B-9BA6-4996-A4DD-DC1E36136054}.Release|x86.ActiveCfg = Release|Any CPU
{4256F87B-9BA6-4996-A4DD-DC1E36136054}.Release|x86.Build.0 = Release|Any CPU
+ {4256F87B-9BA6-4996-A4DD-DC1E36136054}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {4256F87B-9BA6-4996-A4DD-DC1E36136054}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {4256F87B-9BA6-4996-A4DD-DC1E36136054}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{D320C73F-F09A-4ED2-8FBF-3975220FD869}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D320C73F-F09A-4ED2-8FBF-3975220FD869}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D320C73F-F09A-4ED2-8FBF-3975220FD869}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -278,6 +289,9 @@ Global
{D320C73F-F09A-4ED2-8FBF-3975220FD869}.Release|Any CPU.Build.0 = Release|Any CPU
{D320C73F-F09A-4ED2-8FBF-3975220FD869}.Release|x86.ActiveCfg = Release|Any CPU
{D320C73F-F09A-4ED2-8FBF-3975220FD869}.Release|x86.Build.0 = Release|Any CPU
+ {D320C73F-F09A-4ED2-8FBF-3975220FD869}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {D320C73F-F09A-4ED2-8FBF-3975220FD869}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {D320C73F-F09A-4ED2-8FBF-3975220FD869}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Debug|Any CPU.Build.0 = Debug|Any CPU
{41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -298,6 +312,9 @@ Global
{41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Release|Any CPU.Build.0 = Release|Any CPU
{41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Release|x86.ActiveCfg = Release|Any CPU
{41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Release|x86.Build.0 = Release|Any CPU
+ {41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {41A32FD3-3814-4370-A2C7-AE6E29F4AB01}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -318,6 +335,9 @@ Global
{C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Release|Any CPU.Build.0 = Release|Any CPU
{C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Release|x86.ActiveCfg = Release|Any CPU
{C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Release|x86.Build.0 = Release|Any CPU
+ {C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {C0C2037E-ECF1-4FBF-82F8-7C2E6FEB0D3F}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -338,6 +358,9 @@ Global
{D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Release|Any CPU.Build.0 = Release|Any CPU
{D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Release|x86.ActiveCfg = Release|Any CPU
{D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Release|x86.Build.0 = Release|Any CPU
+ {D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {D435A116-81A3-4FA0-AD8F-11B0F49831F9}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -358,6 +381,9 @@ Global
{F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Release|Any CPU.Build.0 = Release|Any CPU
{F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Release|x86.ActiveCfg = Release|Any CPU
{F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Release|x86.Build.0 = Release|Any CPU
+ {F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {F9BA54CA-95E0-4709-8705-AD52673DFBFE}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -378,6 +404,9 @@ Global
{C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Release|Any CPU.Build.0 = Release|Any CPU
{C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Release|x86.ActiveCfg = Release|Any CPU
{C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Release|x86.Build.0 = Release|Any CPU
+ {C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {C22AA4A5-F0A0-4CFF-AB4D-7A02F5DFB59E}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{C604A477-72C2-42ED-9A77-2D6673337F7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C604A477-72C2-42ED-9A77-2D6673337F7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C604A477-72C2-42ED-9A77-2D6673337F7A}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -398,6 +427,9 @@ Global
{C604A477-72C2-42ED-9A77-2D6673337F7A}.Release|Any CPU.Build.0 = Release|Any CPU
{C604A477-72C2-42ED-9A77-2D6673337F7A}.Release|x86.ActiveCfg = Release|Any CPU
{C604A477-72C2-42ED-9A77-2D6673337F7A}.Release|x86.Build.0 = Release|Any CPU
+ {C604A477-72C2-42ED-9A77-2D6673337F7A}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {C604A477-72C2-42ED-9A77-2D6673337F7A}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {C604A477-72C2-42ED-9A77-2D6673337F7A}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -418,6 +450,9 @@ Global
{35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Release|Any CPU.Build.0 = Release|Any CPU
{35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Release|x86.ActiveCfg = Release|Any CPU
{35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Release|x86.Build.0 = Release|Any CPU
+ {35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {35BC3550-4ADD-4BB8-A3EE-0F75253CC63A}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{01BE8CF8-8989-4E94-ADF0-97340821A660}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{01BE8CF8-8989-4E94-ADF0-97340821A660}.Debug|Any CPU.Build.0 = Debug|Any CPU
{01BE8CF8-8989-4E94-ADF0-97340821A660}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -438,6 +473,9 @@ Global
{01BE8CF8-8989-4E94-ADF0-97340821A660}.Release|Any CPU.Build.0 = Release|Any CPU
{01BE8CF8-8989-4E94-ADF0-97340821A660}.Release|x86.ActiveCfg = Release|Any CPU
{01BE8CF8-8989-4E94-ADF0-97340821A660}.Release|x86.Build.0 = Release|Any CPU
+ {01BE8CF8-8989-4E94-ADF0-97340821A660}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {01BE8CF8-8989-4E94-ADF0-97340821A660}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {01BE8CF8-8989-4E94-ADF0-97340821A660}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -458,6 +496,9 @@ Global
{D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Release|Any CPU.Build.0 = Release|Any CPU
{D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Release|x86.ActiveCfg = Release|Any CPU
{D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Release|x86.Build.0 = Release|Any CPU
+ {D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {D52143DD-04DC-4FA9-8C77-6ADFF4B00275}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{CD5C23DD-8EEF-4848-992F-B04088630CC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD5C23DD-8EEF-4848-992F-B04088630CC1}.Debug|x86.ActiveCfg = Debug|Any CPU
{CD5C23DD-8EEF-4848-992F-B04088630CC1}.Debug|x86.Build.0 = Debug|Any CPU
@@ -473,6 +514,8 @@ Global
{CD5C23DD-8EEF-4848-992F-B04088630CC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD5C23DD-8EEF-4848-992F-B04088630CC1}.Release|x86.ActiveCfg = Release|Any CPU
{CD5C23DD-8EEF-4848-992F-B04088630CC1}.Release|x86.Build.0 = Release|Any CPU
+ {CD5C23DD-8EEF-4848-992F-B04088630CC1}.Yaschema|Any CPU.ActiveCfg = Release|Any CPU
+ {CD5C23DD-8EEF-4848-992F-B04088630CC1}.Yaschema|x86.ActiveCfg = Release|Any CPU
{627A80A7-F304-444E-B1DF-0F5A9515716F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{627A80A7-F304-444E-B1DF-0F5A9515716F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{627A80A7-F304-444E-B1DF-0F5A9515716F}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -493,6 +536,9 @@ Global
{627A80A7-F304-444E-B1DF-0F5A9515716F}.Release|Any CPU.Build.0 = Release|Any CPU
{627A80A7-F304-444E-B1DF-0F5A9515716F}.Release|x86.ActiveCfg = Release|Any CPU
{627A80A7-F304-444E-B1DF-0F5A9515716F}.Release|x86.Build.0 = Release|Any CPU
+ {627A80A7-F304-444E-B1DF-0F5A9515716F}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {627A80A7-F304-444E-B1DF-0F5A9515716F}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {627A80A7-F304-444E-B1DF-0F5A9515716F}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{DF10757D-B584-43D5-91BD-C7E446A81415}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF10757D-B584-43D5-91BD-C7E446A81415}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DF10757D-B584-43D5-91BD-C7E446A81415}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -513,6 +559,9 @@ Global
{DF10757D-B584-43D5-91BD-C7E446A81415}.Release|Any CPU.Build.0 = Release|Any CPU
{DF10757D-B584-43D5-91BD-C7E446A81415}.Release|x86.ActiveCfg = Release|Any CPU
{DF10757D-B584-43D5-91BD-C7E446A81415}.Release|x86.Build.0 = Release|Any CPU
+ {DF10757D-B584-43D5-91BD-C7E446A81415}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {DF10757D-B584-43D5-91BD-C7E446A81415}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {DF10757D-B584-43D5-91BD-C7E446A81415}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{1E3B2958-B714-4787-81FE-F782D569AE0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E3B2958-B714-4787-81FE-F782D569AE0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E3B2958-B714-4787-81FE-F782D569AE0D}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -533,6 +582,9 @@ Global
{1E3B2958-B714-4787-81FE-F782D569AE0D}.Release|Any CPU.Build.0 = Release|Any CPU
{1E3B2958-B714-4787-81FE-F782D569AE0D}.Release|x86.ActiveCfg = Release|Any CPU
{1E3B2958-B714-4787-81FE-F782D569AE0D}.Release|x86.Build.0 = Release|Any CPU
+ {1E3B2958-B714-4787-81FE-F782D569AE0D}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {1E3B2958-B714-4787-81FE-F782D569AE0D}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {1E3B2958-B714-4787-81FE-F782D569AE0D}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{CB32834E-517D-4167-89CD-72EF4D20DD9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CB32834E-517D-4167-89CD-72EF4D20DD9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CB32834E-517D-4167-89CD-72EF4D20DD9B}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -553,6 +605,9 @@ Global
{CB32834E-517D-4167-89CD-72EF4D20DD9B}.Release|Any CPU.Build.0 = Release|Any CPU
{CB32834E-517D-4167-89CD-72EF4D20DD9B}.Release|x86.ActiveCfg = Release|Any CPU
{CB32834E-517D-4167-89CD-72EF4D20DD9B}.Release|x86.Build.0 = Release|Any CPU
+ {CB32834E-517D-4167-89CD-72EF4D20DD9B}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {CB32834E-517D-4167-89CD-72EF4D20DD9B}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {CB32834E-517D-4167-89CD-72EF4D20DD9B}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{E70048E2-977E-4B05-A4FD-4906B4C5A352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E70048E2-977E-4B05-A4FD-4906B4C5A352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E70048E2-977E-4B05-A4FD-4906B4C5A352}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -573,6 +628,9 @@ Global
{E70048E2-977E-4B05-A4FD-4906B4C5A352}.Release|Any CPU.Build.0 = Debug|Any CPU
{E70048E2-977E-4B05-A4FD-4906B4C5A352}.Release|x86.ActiveCfg = Debug|Any CPU
{E70048E2-977E-4B05-A4FD-4906B4C5A352}.Release|x86.Build.0 = Debug|Any CPU
+ {E70048E2-977E-4B05-A4FD-4906B4C5A352}.Yaschema|Any CPU.ActiveCfg = Debug|Any CPU
+ {E70048E2-977E-4B05-A4FD-4906B4C5A352}.Yaschema|x86.ActiveCfg = Debug|Any CPU
+ {E70048E2-977E-4B05-A4FD-4906B4C5A352}.Yaschema|x86.Build.0 = Debug|Any CPU
{1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -593,6 +651,9 @@ Global
{1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Release|Any CPU.Build.0 = Release|Any CPU
{1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Release|x86.ActiveCfg = Release|Any CPU
{1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Release|x86.Build.0 = Release|Any CPU
+ {1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {1212C6C1-4B86-43FB-9ABE-11AC2F26F30F}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -613,6 +674,9 @@ Global
{9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Release|Any CPU.Build.0 = Release|Any CPU
{9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Release|x86.ActiveCfg = Release|Any CPU
{9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Release|x86.Build.0 = Release|Any CPU
+ {9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {9082E0C2-2B1C-410D-B24B-AD721A5F779D}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{8518FE20-50AA-4586-819C-FB4733149CD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8518FE20-50AA-4586-819C-FB4733149CD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8518FE20-50AA-4586-819C-FB4733149CD3}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -633,6 +697,9 @@ Global
{8518FE20-50AA-4586-819C-FB4733149CD3}.Release|Any CPU.Build.0 = Release|Any CPU
{8518FE20-50AA-4586-819C-FB4733149CD3}.Release|x86.ActiveCfg = Release|Any CPU
{8518FE20-50AA-4586-819C-FB4733149CD3}.Release|x86.Build.0 = Release|Any CPU
+ {8518FE20-50AA-4586-819C-FB4733149CD3}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {8518FE20-50AA-4586-819C-FB4733149CD3}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {8518FE20-50AA-4586-819C-FB4733149CD3}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -653,6 +720,9 @@ Global
{735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Release|Any CPU.Build.0 = Release|Any CPU
{735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Release|x86.ActiveCfg = Release|Any CPU
{735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Release|x86.Build.0 = Release|Any CPU
+ {735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {735B44E0-3FE0-4FEC-B6E5-08F4140C45A2}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -673,6 +743,9 @@ Global
{3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Release|Any CPU.Build.0 = Release|Any CPU
{3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Release|x86.ActiveCfg = Release|Any CPU
{3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Release|x86.Build.0 = Release|Any CPU
+ {3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {3D0BCD37-7A8C-4429-B602-F5E09FECBB70}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -693,6 +766,9 @@ Global
{67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Release|Any CPU.Build.0 = Release|Any CPU
{67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Release|x86.ActiveCfg = Release|Any CPU
{67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Release|x86.Build.0 = Release|Any CPU
+ {67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {67ED1ABA-9E63-4076-A444-2B70CEA5E4AA}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -713,6 +789,9 @@ Global
{20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Release|Any CPU.Build.0 = Release|Any CPU
{20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Release|x86.ActiveCfg = Release|Any CPU
{20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Release|x86.Build.0 = Release|Any CPU
+ {20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {20A1F6B7-52D3-43DF-A0FF-1C2AE4275954}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -733,6 +812,9 @@ Global
{AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Release|Any CPU.Build.0 = Release|Any CPU
{AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Release|x86.ActiveCfg = Release|Any CPU
{AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Release|x86.Build.0 = Release|Any CPU
+ {AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {AEAE0789-44DF-4B7F-B346-C15BBD90B458}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{B122A664-D433-4993-8E7B-8139BC5890F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B122A664-D433-4993-8E7B-8139BC5890F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B122A664-D433-4993-8E7B-8139BC5890F4}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -753,6 +835,9 @@ Global
{B122A664-D433-4993-8E7B-8139BC5890F4}.Release|Any CPU.Build.0 = Release|Any CPU
{B122A664-D433-4993-8E7B-8139BC5890F4}.Release|x86.ActiveCfg = Release|Any CPU
{B122A664-D433-4993-8E7B-8139BC5890F4}.Release|x86.Build.0 = Release|Any CPU
+ {B122A664-D433-4993-8E7B-8139BC5890F4}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {B122A664-D433-4993-8E7B-8139BC5890F4}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {B122A664-D433-4993-8E7B-8139BC5890F4}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{3738EB7E-3C12-4A80-BF66-942F27E60356}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3738EB7E-3C12-4A80-BF66-942F27E60356}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3738EB7E-3C12-4A80-BF66-942F27E60356}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -773,6 +858,9 @@ Global
{3738EB7E-3C12-4A80-BF66-942F27E60356}.Release|Any CPU.Build.0 = Release|Any CPU
{3738EB7E-3C12-4A80-BF66-942F27E60356}.Release|x86.ActiveCfg = Release|Any CPU
{3738EB7E-3C12-4A80-BF66-942F27E60356}.Release|x86.Build.0 = Release|Any CPU
+ {3738EB7E-3C12-4A80-BF66-942F27E60356}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {3738EB7E-3C12-4A80-BF66-942F27E60356}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {3738EB7E-3C12-4A80-BF66-942F27E60356}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Debug|Any CPU.Build.0 = Debug|Any CPU
{41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -793,6 +881,9 @@ Global
{41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Release|Any CPU.Build.0 = Release|Any CPU
{41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Release|x86.ActiveCfg = Release|Any CPU
{41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Release|x86.Build.0 = Release|Any CPU
+ {41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {41221189-CD0B-4FF0-BB1A-D2BD38D7C211}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{5CE5791C-19D8-4D5A-97E7-767595254A2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5CE5791C-19D8-4D5A-97E7-767595254A2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5CE5791C-19D8-4D5A-97E7-767595254A2C}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -813,6 +904,9 @@ Global
{5CE5791C-19D8-4D5A-97E7-767595254A2C}.Release|Any CPU.Build.0 = Release|Any CPU
{5CE5791C-19D8-4D5A-97E7-767595254A2C}.Release|x86.ActiveCfg = Release|Any CPU
{5CE5791C-19D8-4D5A-97E7-767595254A2C}.Release|x86.Build.0 = Release|Any CPU
+ {5CE5791C-19D8-4D5A-97E7-767595254A2C}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {5CE5791C-19D8-4D5A-97E7-767595254A2C}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {5CE5791C-19D8-4D5A-97E7-767595254A2C}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -833,6 +927,9 @@ Global
{6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Release|Any CPU.Build.0 = Release|Any CPU
{6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Release|x86.ActiveCfg = Release|Any CPU
{6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Release|x86.Build.0 = Release|Any CPU
+ {6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {6CA3BFDF-B94A-4771-83B4-BF8E86207C46}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -853,6 +950,9 @@ Global
{7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Release|Any CPU.Build.0 = Release|Any CPU
{7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Release|x86.ActiveCfg = Release|Any CPU
{7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Release|x86.Build.0 = Release|Any CPU
+ {7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {7D9C2828-AAB0-4FA3-BA59-E619958E7F35}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -873,6 +973,9 @@ Global
{61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Release|Any CPU.Build.0 = Release|Any CPU
{61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Release|x86.ActiveCfg = Release|Any CPU
{61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Release|x86.Build.0 = Release|Any CPU
+ {61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {61EB6479-1902-4086-94B4-CEC8DBF5DBFD}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{ECC421AB-18AE-408E-AB99-47232B873B92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ECC421AB-18AE-408E-AB99-47232B873B92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ECC421AB-18AE-408E-AB99-47232B873B92}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -893,6 +996,9 @@ Global
{ECC421AB-18AE-408E-AB99-47232B873B92}.Release|Any CPU.Build.0 = Release|Any CPU
{ECC421AB-18AE-408E-AB99-47232B873B92}.Release|x86.ActiveCfg = Release|Any CPU
{ECC421AB-18AE-408E-AB99-47232B873B92}.Release|x86.Build.0 = Release|Any CPU
+ {ECC421AB-18AE-408E-AB99-47232B873B92}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {ECC421AB-18AE-408E-AB99-47232B873B92}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {ECC421AB-18AE-408E-AB99-47232B873B92}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{28571138-BCA0-4FDB-9350-6BE1EBB08476}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28571138-BCA0-4FDB-9350-6BE1EBB08476}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28571138-BCA0-4FDB-9350-6BE1EBB08476}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -913,6 +1019,9 @@ Global
{28571138-BCA0-4FDB-9350-6BE1EBB08476}.Release|Any CPU.Build.0 = Release|Any CPU
{28571138-BCA0-4FDB-9350-6BE1EBB08476}.Release|x86.ActiveCfg = Release|Any CPU
{28571138-BCA0-4FDB-9350-6BE1EBB08476}.Release|x86.Build.0 = Release|Any CPU
+ {28571138-BCA0-4FDB-9350-6BE1EBB08476}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {28571138-BCA0-4FDB-9350-6BE1EBB08476}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {28571138-BCA0-4FDB-9350-6BE1EBB08476}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{BE058B9C-3CF0-465E-A14D-14739AC642E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BE058B9C-3CF0-465E-A14D-14739AC642E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE058B9C-3CF0-465E-A14D-14739AC642E7}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -933,6 +1042,9 @@ Global
{BE058B9C-3CF0-465E-A14D-14739AC642E7}.Release|Any CPU.Build.0 = Release|Any CPU
{BE058B9C-3CF0-465E-A14D-14739AC642E7}.Release|x86.ActiveCfg = Release|Any CPU
{BE058B9C-3CF0-465E-A14D-14739AC642E7}.Release|x86.Build.0 = Release|Any CPU
+ {BE058B9C-3CF0-465E-A14D-14739AC642E7}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {BE058B9C-3CF0-465E-A14D-14739AC642E7}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {BE058B9C-3CF0-465E-A14D-14739AC642E7}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{4763093E-FA88-41F1-84C7-A2C0615D2A41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4763093E-FA88-41F1-84C7-A2C0615D2A41}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4763093E-FA88-41F1-84C7-A2C0615D2A41}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -953,6 +1065,9 @@ Global
{4763093E-FA88-41F1-84C7-A2C0615D2A41}.Release|Any CPU.Build.0 = Release|Any CPU
{4763093E-FA88-41F1-84C7-A2C0615D2A41}.Release|x86.ActiveCfg = Release|Any CPU
{4763093E-FA88-41F1-84C7-A2C0615D2A41}.Release|x86.Build.0 = Release|Any CPU
+ {4763093E-FA88-41F1-84C7-A2C0615D2A41}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {4763093E-FA88-41F1-84C7-A2C0615D2A41}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {4763093E-FA88-41F1-84C7-A2C0615D2A41}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -973,6 +1088,9 @@ Global
{403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Release|Any CPU.Build.0 = Release|Any CPU
{403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Release|x86.ActiveCfg = Release|Any CPU
{403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Release|x86.Build.0 = Release|Any CPU
+ {403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {403BD4F5-D3D5-4BCC-B489-44056AAFFD42}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{0247CD60-CFAB-4783-863A-FB93329FBB08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0247CD60-CFAB-4783-863A-FB93329FBB08}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0247CD60-CFAB-4783-863A-FB93329FBB08}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -993,6 +1111,9 @@ Global
{0247CD60-CFAB-4783-863A-FB93329FBB08}.Release|Any CPU.Build.0 = Release|Any CPU
{0247CD60-CFAB-4783-863A-FB93329FBB08}.Release|x86.ActiveCfg = Release|Any CPU
{0247CD60-CFAB-4783-863A-FB93329FBB08}.Release|x86.Build.0 = Release|Any CPU
+ {0247CD60-CFAB-4783-863A-FB93329FBB08}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {0247CD60-CFAB-4783-863A-FB93329FBB08}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {0247CD60-CFAB-4783-863A-FB93329FBB08}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -1013,6 +1134,9 @@ Global
{41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Release|Any CPU.Build.0 = Release|Any CPU
{41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Release|x86.ActiveCfg = Release|Any CPU
{41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Release|x86.Build.0 = Release|Any CPU
+ {41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {41D5E6DD-6F2A-4BD5-AC97-B997C20F01BF}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -1033,6 +1157,9 @@ Global
{61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Release|Any CPU.Build.0 = Release|Any CPU
{61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Release|x86.ActiveCfg = Release|Any CPU
{61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Release|x86.Build.0 = Release|Any CPU
+ {61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {61DD1D3B-7D10-4EF2-BE9C-B4D54C84FE6F}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -1053,6 +1180,9 @@ Global
{C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Release|Any CPU.Build.0 = Release|Any CPU
{C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Release|x86.ActiveCfg = Release|Any CPU
{C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Release|x86.Build.0 = Release|Any CPU
+ {C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {C5E7079C-E049-455D-9B24-702AB7F9C1AC}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{A05B8032-3B31-40F8-84BB-85DC67602458}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A05B8032-3B31-40F8-84BB-85DC67602458}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A05B8032-3B31-40F8-84BB-85DC67602458}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -1073,6 +1203,9 @@ Global
{A05B8032-3B31-40F8-84BB-85DC67602458}.Release|Any CPU.Build.0 = Release|Any CPU
{A05B8032-3B31-40F8-84BB-85DC67602458}.Release|x86.ActiveCfg = Release|Any CPU
{A05B8032-3B31-40F8-84BB-85DC67602458}.Release|x86.Build.0 = Release|Any CPU
+ {A05B8032-3B31-40F8-84BB-85DC67602458}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {A05B8032-3B31-40F8-84BB-85DC67602458}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {A05B8032-3B31-40F8-84BB-85DC67602458}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -1093,6 +1226,10 @@ Global
{0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Release|Any CPU.Build.0 = Release|Any CPU
{0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Release|x86.ActiveCfg = Release|Any CPU
{0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Release|x86.Build.0 = Release|Any CPU
+ {0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Yaschema|Any CPU.Build.0 = Yaschema|Any CPU
+ {0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {0BF8D2DC-C6AE-4F34-9C3E-8523806AD01D}.Yaschema|x86.Build.0 = Yaschema|Any CPU
{1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -1113,6 +1250,10 @@ Global
{1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Release|Any CPU.Build.0 = Release|Any CPU
{1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Release|x86.ActiveCfg = Release|Any CPU
{1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Release|x86.Build.0 = Release|Any CPU
+ {1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Yaschema|Any CPU.ActiveCfg = Yaschema|Any CPU
+ {1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Yaschema|Any CPU.Build.0 = Yaschema|Any CPU
+ {1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Yaschema|x86.ActiveCfg = Yaschema|Any CPU
+ {1FA1FFE7-2212-46F0-8893-697640E2B3FA}.Yaschema|x86.Build.0 = Yaschema|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Command/CommandEcho/AssemblyVersion.cs b/Command/CommandEcho/AssemblyVersion.cs
index 9203d8adb..b44174751 100644
--- a/Command/CommandEcho/AssemblyVersion.cs
+++ b/Command/CommandEcho/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.179")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.179")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.207")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.207")]
diff --git a/Command/CommandEcho/CommandEcho.csproj b/Command/CommandEcho/CommandEcho.csproj
index 9f91207c0..a70a190d9 100644
--- a/Command/CommandEcho/CommandEcho.csproj
+++ b/Command/CommandEcho/CommandEcho.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/Command/CommandEcho/version.version b/Command/CommandEcho/version.version
index 767830aa9..d825ac83f 100644
--- a/Command/CommandEcho/version.version
+++ b/Command/CommandEcho/version.version
@@ -1,2 +1,2 @@
-3.0.0.179
-3.0.0.179
+3.0.0.207
+3.0.0.207
diff --git a/Command/Goedel.Tool.Command/Command.cs b/Command/Goedel.Tool.Command/Command.cs
index ef4e20f86..de448b04a 100644
--- a/Command/Goedel.Tool.Command/Command.cs
+++ b/Command/Goedel.Tool.Command/Command.cs
@@ -113,6 +113,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/Command/Goedel.Tool.Command/Goedel.Tool.Command.csproj b/Command/Goedel.Tool.Command/Goedel.Tool.Command.csproj
index d87681fa8..85e5c824d 100644
--- a/Command/Goedel.Tool.Command/Goedel.Tool.Command.csproj
+++ b/Command/Goedel.Tool.Command/Goedel.Tool.Command.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.Command
diff --git a/Command/commandparse/AssemblyVersion.cs b/Command/commandparse/AssemblyVersion.cs
index 54ed9af9d..351e311ac 100644
--- a/Command/commandparse/AssemblyVersion.cs
+++ b/Command/commandparse/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.528")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.528")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.557")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.557")]
diff --git a/Command/commandparse/commandparse.csproj b/Command/commandparse/commandparse.csproj
index 5da5b1e4f..74ba0c3d9 100644
--- a/Command/commandparse/commandparse.csproj
+++ b/Command/commandparse/commandparse.csproj
@@ -13,6 +13,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/Command/commandparse/version.version b/Command/commandparse/version.version
index e5465fec0..d19f2822a 100644
--- a/Command/commandparse/version.version
+++ b/Command/commandparse/version.version
@@ -1,2 +1,2 @@
-3.0.0.528
-3.0.0.528
+3.0.0.557
+3.0.0.557
diff --git a/Constant/Goedel.Tool.Constant/ConstantSchema.cs b/Constant/Goedel.Tool.Constant/ConstantSchema.cs
index 178f24617..6c7a7796b 100644
--- a/Constant/Goedel.Tool.Constant/ConstantSchema.cs
+++ b/Constant/Goedel.Tool.Constant/ConstantSchema.cs
@@ -129,6 +129,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/Constant/Goedel.Tool.Constant/Goedel.Tool.Constant.csproj b/Constant/Goedel.Tool.Constant/Goedel.Tool.Constant.csproj
index 3c12d07e5..350b215fa 100644
--- a/Constant/Goedel.Tool.Constant/Goedel.Tool.Constant.csproj
+++ b/Constant/Goedel.Tool.Constant/Goedel.Tool.Constant.csproj
@@ -12,6 +12,7 @@
Constant Manager
false
false
+ Debug;Release;Yaschema
diff --git a/Constant/constant/AssemblyVersion.cs b/Constant/constant/AssemblyVersion.cs
index d57547328..3494c0797 100644
--- a/Constant/constant/AssemblyVersion.cs
+++ b/Constant/constant/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.602")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.602")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.631")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.631")]
diff --git a/Constant/constant/constant.csproj b/Constant/constant/constant.csproj
index 70b29ec56..b3bec6660 100644
--- a/Constant/constant/constant.csproj
+++ b/Constant/constant/constant.csproj
@@ -12,6 +12,7 @@
Constant Manager
false
false
+ Debug;Release;Yaschema
diff --git a/Constant/constant/version.version b/Constant/constant/version.version
index 9cde6742d..2f2755fd7 100644
--- a/Constant/constant/version.version
+++ b/Constant/constant/version.version
@@ -1,2 +1,2 @@
-3.0.0.602
-3.0.0.602
+3.0.0.631
+3.0.0.631
diff --git a/DNSConfig/Goedel.Tool.DNSConfig/DNSConfigSchema.cs b/DNSConfig/Goedel.Tool.DNSConfig/DNSConfigSchema.cs
index 5bb71048d..8767f360f 100644
--- a/DNSConfig/Goedel.Tool.DNSConfig/DNSConfigSchema.cs
+++ b/DNSConfig/Goedel.Tool.DNSConfig/DNSConfigSchema.cs
@@ -137,6 +137,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/DNSConfig/Goedel.Tool.DNSConfig/Goedel.Tool.DNSConfig.csproj b/DNSConfig/Goedel.Tool.DNSConfig/Goedel.Tool.DNSConfig.csproj
index cbf17aeb0..338a3d627 100644
--- a/DNSConfig/Goedel.Tool.DNSConfig/Goedel.Tool.DNSConfig.csproj
+++ b/DNSConfig/Goedel.Tool.DNSConfig/Goedel.Tool.DNSConfig.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.DNSConfig
diff --git a/DNSConfig/srvconf/AssemblyVersion.cs b/DNSConfig/srvconf/AssemblyVersion.cs
index bd1b1bc66..16a7fe2d2 100644
--- a/DNSConfig/srvconf/AssemblyVersion.cs
+++ b/DNSConfig/srvconf/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.217")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.217")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.245")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.245")]
diff --git a/DNSConfig/srvconf/srvconf.csproj b/DNSConfig/srvconf/srvconf.csproj
index 453dae85f..f1f70277d 100644
--- a/DNSConfig/srvconf/srvconf.csproj
+++ b/DNSConfig/srvconf/srvconf.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/DNSConfig/srvconf/version.version b/DNSConfig/srvconf/version.version
index 754e126b8..b23416372 100644
--- a/DNSConfig/srvconf/version.version
+++ b/DNSConfig/srvconf/version.version
@@ -1,2 +1,2 @@
-3.0.0.217
-3.0.0.217
+3.0.0.245
+3.0.0.245
diff --git a/DocTools/Goedel.Document.Markdown/Goedel.Document.Markdown.csproj b/DocTools/Goedel.Document.Markdown/Goedel.Document.Markdown.csproj
index f5c78df4f..d52975215 100644
--- a/DocTools/Goedel.Document.Markdown/Goedel.Document.Markdown.csproj
+++ b/DocTools/Goedel.Document.Markdown/Goedel.Document.Markdown.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.ASN
diff --git a/DocTools/Goedel.Document.Markdown/Schema.cs b/DocTools/Goedel.Document.Markdown/Schema.cs
index ce7310a9f..5d178f726 100644
--- a/DocTools/Goedel.Document.Markdown/Schema.cs
+++ b/DocTools/Goedel.Document.Markdown/Schema.cs
@@ -150,6 +150,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/DocTools/Goedel.Document.OpenXML/Goedel.Document.OpenXML.csproj b/DocTools/Goedel.Document.OpenXML/Goedel.Document.OpenXML.csproj
index af67792f2..f5815c1e3 100644
--- a/DocTools/Goedel.Document.OpenXML/Goedel.Document.OpenXML.csproj
+++ b/DocTools/Goedel.Document.OpenXML/Goedel.Document.OpenXML.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.ASN
diff --git a/DocTools/Goedel.Document.RFC/Goedel.Document.RFC.csproj b/DocTools/Goedel.Document.RFC/Goedel.Document.RFC.csproj
index fda068804..3de08079b 100644
--- a/DocTools/Goedel.Document.RFC/Goedel.Document.RFC.csproj
+++ b/DocTools/Goedel.Document.RFC/Goedel.Document.RFC.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Document.RFC
diff --git a/DocTools/Goedel.Document.RFCConvert/Goedel.Document.RFCConvert.csproj b/DocTools/Goedel.Document.RFCConvert/Goedel.Document.RFCConvert.csproj
index 73c3f0d49..e36df2bbc 100644
--- a/DocTools/Goedel.Document.RFCConvert/Goedel.Document.RFCConvert.csproj
+++ b/DocTools/Goedel.Document.RFCConvert/Goedel.Document.RFCConvert.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Document.RFCConvert
diff --git a/DocTools/Goedel.Document.RFCSVG/Goedel.Document.RFCSVG.csproj b/DocTools/Goedel.Document.RFCSVG/Goedel.Document.RFCSVG.csproj
index 9eb04748d..9e5f5f3b0 100644
--- a/DocTools/Goedel.Document.RFCSVG/Goedel.Document.RFCSVG.csproj
+++ b/DocTools/Goedel.Document.RFCSVG/Goedel.Document.RFCSVG.csproj
@@ -13,6 +13,7 @@
false
+ Debug;Release;Yaschema
diff --git a/DocTools/bootmaker/AssemblyVersion.cs b/DocTools/bootmaker/AssemblyVersion.cs
index 38875b522..4f1452110 100644
--- a/DocTools/bootmaker/AssemblyVersion.cs
+++ b/DocTools/bootmaker/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.542")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.542")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.571")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.571")]
diff --git a/DocTools/bootmaker/bootmaker.csproj b/DocTools/bootmaker/bootmaker.csproj
index 6fae5db84..d7b6888be 100644
--- a/DocTools/bootmaker/bootmaker.csproj
+++ b/DocTools/bootmaker/bootmaker.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/DocTools/bootmaker/version.version b/DocTools/bootmaker/version.version
index 04b8a399c..3afb61b02 100644
--- a/DocTools/bootmaker/version.version
+++ b/DocTools/bootmaker/version.version
@@ -1,2 +1,2 @@
-3.0.0.542
-3.0.0.542
+3.0.0.571
+3.0.0.571
diff --git a/DocTools/rfctool/AssemblyVersion.cs b/DocTools/rfctool/AssemblyVersion.cs
index 51e40bf08..533605852 100644
--- a/DocTools/rfctool/AssemblyVersion.cs
+++ b/DocTools/rfctool/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.709")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.709")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.738")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.738")]
diff --git a/DocTools/rfctool/rfctool.csproj b/DocTools/rfctool/rfctool.csproj
index b19c9df2e..e8511aeca 100644
--- a/DocTools/rfctool/rfctool.csproj
+++ b/DocTools/rfctool/rfctool.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/DocTools/rfctool/version.version b/DocTools/rfctool/version.version
index 96bc68e99..d69e72bcb 100644
--- a/DocTools/rfctool/version.version
+++ b/DocTools/rfctool/version.version
@@ -1,2 +1,2 @@
-3.0.0.709
-3.0.0.709
+3.0.0.738
+3.0.0.738
diff --git a/Documentation/Drafts/Drafts.csproj b/Documentation/Drafts/Drafts.csproj
index 58ab9099d..c1e618e6d 100644
--- a/Documentation/Drafts/Drafts.csproj
+++ b/Documentation/Drafts/Drafts.csproj
@@ -3,6 +3,7 @@
Exe
netcoreapp3.1
+ Debug;Release;Yaschema
diff --git a/Domainer/Goedel.Tool.Domainer/Domainer.cs b/Domainer/Goedel.Tool.Domainer/Domainer.cs
index f76627d65..c8f73a8f6 100644
--- a/Domainer/Goedel.Tool.Domainer/Domainer.cs
+++ b/Domainer/Goedel.Tool.Domainer/Domainer.cs
@@ -166,6 +166,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/Domainer/Goedel.Tool.Domainer/Goedel.Tool.Domainer.csproj b/Domainer/Goedel.Tool.Domainer/Goedel.Tool.Domainer.csproj
index 68af4b0b9..dce1b8f5a 100644
--- a/Domainer/Goedel.Tool.Domainer/Goedel.Tool.Domainer.csproj
+++ b/Domainer/Goedel.Tool.Domainer/Goedel.Tool.Domainer.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.Domainer
diff --git a/Domainer/domainer/AssemblyVersion.cs b/Domainer/domainer/AssemblyVersion.cs
index 7f91a82f8..a8ec6f07a 100644
--- a/Domainer/domainer/AssemblyVersion.cs
+++ b/Domainer/domainer/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.514")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.514")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.543")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.543")]
diff --git a/Domainer/domainer/domainer.csproj b/Domainer/domainer/domainer.csproj
index c8cf5b450..6bb396b63 100644
--- a/Domainer/domainer/domainer.csproj
+++ b/Domainer/domainer/domainer.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/Domainer/domainer/version.version b/Domainer/domainer/version.version
index 7fd034ae1..bed734cb8 100644
--- a/Domainer/domainer/version.version
+++ b/Domainer/domainer/version.version
@@ -1,2 +1,2 @@
-3.0.0.514
-3.0.0.514
+3.0.0.543
+3.0.0.543
diff --git a/Exceptional/Exceptional/AssemblyVersion.cs b/Exceptional/Exceptional/AssemblyVersion.cs
index 02fc16ae6..a95d0bac8 100644
--- a/Exceptional/Exceptional/AssemblyVersion.cs
+++ b/Exceptional/Exceptional/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.525")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.525")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.554")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.554")]
diff --git a/Exceptional/Exceptional/Exceptional.csproj b/Exceptional/Exceptional/Exceptional.csproj
index c622b3b5a..ac82817cc 100644
--- a/Exceptional/Exceptional/Exceptional.csproj
+++ b/Exceptional/Exceptional/Exceptional.csproj
@@ -13,6 +13,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/Exceptional/Exceptional/version.version b/Exceptional/Exceptional/version.version
index 5ad891871..f077b4164 100644
--- a/Exceptional/Exceptional/version.version
+++ b/Exceptional/Exceptional/version.version
@@ -1,2 +1,2 @@
-3.0.0.525
-3.0.0.525
+3.0.0.554
+3.0.0.554
diff --git a/Exceptional/Goedel.Tool.Exceptional/Exceptional.cs b/Exceptional/Goedel.Tool.Exceptional/Exceptional.cs
index 1a1f24b62..2c18d7f8c 100644
--- a/Exceptional/Goedel.Tool.Exceptional/Exceptional.cs
+++ b/Exceptional/Goedel.Tool.Exceptional/Exceptional.cs
@@ -102,6 +102,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/Exceptional/Goedel.Tool.Exceptional/Goedel.Tool.Exceptional.csproj b/Exceptional/Goedel.Tool.Exceptional/Goedel.Tool.Exceptional.csproj
index 54667e93c..720e7c01f 100644
--- a/Exceptional/Goedel.Tool.Exceptional/Goedel.Tool.Exceptional.csproj
+++ b/Exceptional/Goedel.Tool.Exceptional/Goedel.Tool.Exceptional.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.Exceptional
diff --git a/FSRGen/Goedel.Tool.FSRGen/FSRSchema.cs b/FSRGen/Goedel.Tool.FSRGen/FSRSchema.cs
index 80182e75e..c6ea94127 100644
--- a/FSRGen/Goedel.Tool.FSRGen/FSRSchema.cs
+++ b/FSRGen/Goedel.Tool.FSRGen/FSRSchema.cs
@@ -89,6 +89,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/FSRGen/Goedel.Tool.FSRGen/Goedel.Tool.FSRGen.csproj b/FSRGen/Goedel.Tool.FSRGen/Goedel.Tool.FSRGen.csproj
index 975628758..fc6e05159 100644
--- a/FSRGen/Goedel.Tool.FSRGen/Goedel.Tool.FSRGen.csproj
+++ b/FSRGen/Goedel.Tool.FSRGen/Goedel.Tool.FSRGen.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.FSR
diff --git a/FSRGen/fsrgen/AssemblyVersion.cs b/FSRGen/fsrgen/AssemblyVersion.cs
index 24952c698..8b89e4591 100644
--- a/FSRGen/fsrgen/AssemblyVersion.cs
+++ b/FSRGen/fsrgen/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.521")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.521")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.550")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.550")]
diff --git a/FSRGen/fsrgen/fsrgen.csproj b/FSRGen/fsrgen/fsrgen.csproj
index 3bfe6bb99..3294d8239 100644
--- a/FSRGen/fsrgen/fsrgen.csproj
+++ b/FSRGen/fsrgen/fsrgen.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/FSRGen/fsrgen/version.version b/FSRGen/fsrgen/version.version
index eb0b4b9d0..c75e18274 100644
--- a/FSRGen/fsrgen/version.version
+++ b/FSRGen/fsrgen/version.version
@@ -1,2 +1,2 @@
-3.0.0.521
-3.0.0.521
+3.0.0.550
+3.0.0.550
diff --git a/GScript/Goedel.Tool.Script/Goedel.Tool.Script.csproj b/GScript/Goedel.Tool.Script/Goedel.Tool.Script.csproj
index 0935a8914..aba42f382 100644
--- a/GScript/Goedel.Tool.Script/Goedel.Tool.Script.csproj
+++ b/GScript/Goedel.Tool.Script/Goedel.Tool.Script.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.Script
diff --git a/GScript/gscript/AssemblyVersion.cs b/GScript/gscript/AssemblyVersion.cs
index 597b48f05..a068ab78c 100644
--- a/GScript/gscript/AssemblyVersion.cs
+++ b/GScript/gscript/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.540")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.540")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.569")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.569")]
diff --git a/GScript/gscript/gscript.csproj b/GScript/gscript/gscript.csproj
index 2b79d34b2..c78db141a 100644
--- a/GScript/gscript/gscript.csproj
+++ b/GScript/gscript/gscript.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/GScript/gscript/version.version b/GScript/gscript/version.version
index 7ee9b0599..515efdab8 100644
--- a/GScript/gscript/version.version
+++ b/GScript/gscript/version.version
@@ -1,2 +1,2 @@
-3.0.0.540
-3.0.0.540
+3.0.0.569
+3.0.0.569
diff --git a/Goedel3/Goedel.Tool.Schema/Goedel.Tool.Schema.csproj b/Goedel3/Goedel.Tool.Schema/Goedel.Tool.Schema.csproj
index 126f74311..90217c115 100644
--- a/Goedel3/Goedel.Tool.Schema/Goedel.Tool.Schema.csproj
+++ b/Goedel3/Goedel.Tool.Schema/Goedel.Tool.Schema.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.Schema
diff --git a/Goedel3/goedel3/AssemblyVersion.cs b/Goedel3/goedel3/AssemblyVersion.cs
index 24952c698..8b89e4591 100644
--- a/Goedel3/goedel3/AssemblyVersion.cs
+++ b/Goedel3/goedel3/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.521")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.521")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.550")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.550")]
diff --git a/Goedel3/goedel3/goedel3.csproj b/Goedel3/goedel3/goedel3.csproj
index 6a9cd634e..f6787b60f 100644
--- a/Goedel3/goedel3/goedel3.csproj
+++ b/Goedel3/goedel3/goedel3.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/Goedel3/goedel3/version.version b/Goedel3/goedel3/version.version
index eb0b4b9d0..c75e18274 100644
--- a/Goedel3/goedel3/version.version
+++ b/Goedel3/goedel3/version.version
@@ -1,2 +1,2 @@
-3.0.0.521
-3.0.0.521
+3.0.0.550
+3.0.0.550
diff --git a/Libraries/Goedel.Tool.Core/Goedel.Tool.Core.csproj b/Libraries/Goedel.Tool.Core/Goedel.Tool.Core.csproj
index d44ad1154..9160f68fc 100644
--- a/Libraries/Goedel.Tool.Core/Goedel.Tool.Core.csproj
+++ b/Libraries/Goedel.Tool.Core/Goedel.Tool.Core.csproj
@@ -2,6 +2,8 @@
net5.0
+ Debug;Release;Yaschema
+ false
diff --git a/MakeyMakey/Goedel.Tool.Makey/Goedel.Tool.Makey.csproj b/MakeyMakey/Goedel.Tool.Makey/Goedel.Tool.Makey.csproj
index c06987dd1..af9d8eb0a 100644
--- a/MakeyMakey/Goedel.Tool.Makey/Goedel.Tool.Makey.csproj
+++ b/MakeyMakey/Goedel.Tool.Makey/Goedel.Tool.Makey.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.Makey
diff --git a/MakeyMakey/makey/AssemblyVersion.cs b/MakeyMakey/makey/AssemblyVersion.cs
index 64cdb5302..3e51e4368 100644
--- a/MakeyMakey/makey/AssemblyVersion.cs
+++ b/MakeyMakey/makey/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.516")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.516")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.545")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.545")]
diff --git a/MakeyMakey/makey/makey.csproj b/MakeyMakey/makey/makey.csproj
index d7cfa3c58..fdf3c647a 100644
--- a/MakeyMakey/makey/makey.csproj
+++ b/MakeyMakey/makey/makey.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/MakeyMakey/makey/version.version b/MakeyMakey/makey/version.version
index 70c3fe731..a2a90024f 100644
--- a/MakeyMakey/makey/version.version
+++ b/MakeyMakey/makey/version.version
@@ -1,2 +1,2 @@
-3.0.0.516
-3.0.0.516
+3.0.0.545
+3.0.0.545
diff --git a/Pack/Windows/win-x64/Goedel.ASN.dll b/Pack/Windows/win-x64/Goedel.ASN.dll
index d722fb4bc..202ca4ae9 100644
Binary files a/Pack/Windows/win-x64/Goedel.ASN.dll and b/Pack/Windows/win-x64/Goedel.ASN.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Command.dll b/Pack/Windows/win-x64/Goedel.Command.dll
index 9d890d293..c06a16c18 100644
Binary files a/Pack/Windows/win-x64/Goedel.Command.dll and b/Pack/Windows/win-x64/Goedel.Command.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Cryptography.dll b/Pack/Windows/win-x64/Goedel.Cryptography.dll
index 52b065f47..40763ec44 100644
Binary files a/Pack/Windows/win-x64/Goedel.Cryptography.dll and b/Pack/Windows/win-x64/Goedel.Cryptography.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Discovery.dll b/Pack/Windows/win-x64/Goedel.Discovery.dll
index c7c02f2bc..99b3575b1 100644
Binary files a/Pack/Windows/win-x64/Goedel.Discovery.dll and b/Pack/Windows/win-x64/Goedel.Discovery.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Document.Markdown.dll b/Pack/Windows/win-x64/Goedel.Document.Markdown.dll
index 2e24400d3..a544fe85d 100644
Binary files a/Pack/Windows/win-x64/Goedel.Document.Markdown.dll and b/Pack/Windows/win-x64/Goedel.Document.Markdown.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Document.OpenXML.dll b/Pack/Windows/win-x64/Goedel.Document.OpenXML.dll
index 177b00a2f..a3cf61dfa 100644
Binary files a/Pack/Windows/win-x64/Goedel.Document.OpenXML.dll and b/Pack/Windows/win-x64/Goedel.Document.OpenXML.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Document.RFC.dll b/Pack/Windows/win-x64/Goedel.Document.RFC.dll
index d8e983dc4..24a19ea61 100644
Binary files a/Pack/Windows/win-x64/Goedel.Document.RFC.dll and b/Pack/Windows/win-x64/Goedel.Document.RFC.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Document.RFCConvert.dll b/Pack/Windows/win-x64/Goedel.Document.RFCConvert.dll
index 306acae85..2c49bdb7b 100644
Binary files a/Pack/Windows/win-x64/Goedel.Document.RFCConvert.dll and b/Pack/Windows/win-x64/Goedel.Document.RFCConvert.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Document.RFCSVG.dll b/Pack/Windows/win-x64/Goedel.Document.RFCSVG.dll
index a2eb92ba3..6115b6f3d 100644
Binary files a/Pack/Windows/win-x64/Goedel.Document.RFCSVG.dll and b/Pack/Windows/win-x64/Goedel.Document.RFCSVG.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.FSR.dll b/Pack/Windows/win-x64/Goedel.FSR.dll
index e200e4298..ce1c0eb4d 100644
Binary files a/Pack/Windows/win-x64/Goedel.FSR.dll and b/Pack/Windows/win-x64/Goedel.FSR.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.IO.dll b/Pack/Windows/win-x64/Goedel.IO.dll
index e3489cbcc..d5907c12f 100644
Binary files a/Pack/Windows/win-x64/Goedel.IO.dll and b/Pack/Windows/win-x64/Goedel.IO.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Registry.dll b/Pack/Windows/win-x64/Goedel.Registry.dll
index fb6e18ba6..e29b76355 100644
Binary files a/Pack/Windows/win-x64/Goedel.Registry.dll and b/Pack/Windows/win-x64/Goedel.Registry.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.ASN.dll b/Pack/Windows/win-x64/Goedel.Tool.ASN.dll
index 0dd917c32..484eb042d 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.ASN.dll and b/Pack/Windows/win-x64/Goedel.Tool.ASN.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Command.dll b/Pack/Windows/win-x64/Goedel.Tool.Command.dll
index 35f26a669..80fcee39a 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Command.dll and b/Pack/Windows/win-x64/Goedel.Tool.Command.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Constant.dll b/Pack/Windows/win-x64/Goedel.Tool.Constant.dll
index eb10dabbf..e3bec2d54 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Constant.dll and b/Pack/Windows/win-x64/Goedel.Tool.Constant.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Core.dll b/Pack/Windows/win-x64/Goedel.Tool.Core.dll
index 49fff1f4e..e25e6c51d 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Core.dll and b/Pack/Windows/win-x64/Goedel.Tool.Core.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Domainer.dll b/Pack/Windows/win-x64/Goedel.Tool.Domainer.dll
index 003b37f2b..16a08d0ca 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Domainer.dll and b/Pack/Windows/win-x64/Goedel.Tool.Domainer.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Exceptional.dll b/Pack/Windows/win-x64/Goedel.Tool.Exceptional.dll
index 8547e3ed6..b2333d135 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Exceptional.dll and b/Pack/Windows/win-x64/Goedel.Tool.Exceptional.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.FSRGen.dll b/Pack/Windows/win-x64/Goedel.Tool.FSRGen.dll
index 15fbbd10e..e855fb54c 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.FSRGen.dll and b/Pack/Windows/win-x64/Goedel.Tool.FSRGen.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Makey.dll b/Pack/Windows/win-x64/Goedel.Tool.Makey.dll
index 5711533d9..02cd1a4cb 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Makey.dll and b/Pack/Windows/win-x64/Goedel.Tool.Makey.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Protogen.dll b/Pack/Windows/win-x64/Goedel.Tool.Protogen.dll
index 392addb25..517fe823c 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Protogen.dll and b/Pack/Windows/win-x64/Goedel.Tool.Protogen.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.RegistryConfig.dll b/Pack/Windows/win-x64/Goedel.Tool.RegistryConfig.dll
index 2f4990dc0..7dd5af79f 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.RegistryConfig.dll and b/Pack/Windows/win-x64/Goedel.Tool.RegistryConfig.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Schema.dll b/Pack/Windows/win-x64/Goedel.Tool.Schema.dll
index 35c682833..540ccf787 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Schema.dll and b/Pack/Windows/win-x64/Goedel.Tool.Schema.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Tool.Script.dll b/Pack/Windows/win-x64/Goedel.Tool.Script.dll
index cf108df62..d8d3ed606 100644
Binary files a/Pack/Windows/win-x64/Goedel.Tool.Script.dll and b/Pack/Windows/win-x64/Goedel.Tool.Script.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Utilities.dll b/Pack/Windows/win-x64/Goedel.Utilities.dll
index 09f73a476..268a80619 100644
Binary files a/Pack/Windows/win-x64/Goedel.Utilities.dll and b/Pack/Windows/win-x64/Goedel.Utilities.dll differ
diff --git a/Pack/Windows/win-x64/Goedel.Utilities.xml b/Pack/Windows/win-x64/Goedel.Utilities.xml
index 8e6eccf1e..ffc9146ba 100644
--- a/Pack/Windows/win-x64/Goedel.Utilities.xml
+++ b/Pack/Windows/win-x64/Goedel.Utilities.xml
@@ -102,6 +102,17 @@
Second array
result
+
+
+ Return element number from
+ if it exists, otherwise the default for the list element type.
+
+ The list element type.
+ The list to extract from (may be null).
+ The element to extract (if present).
+ The extracted element or null if either is null
+ or is greater than the number of elements.
+
Utility functions using reflection to extract information from the stack.
diff --git a/Pack/Windows/win-x64/Version.dll b/Pack/Windows/win-x64/Version.dll
index 42d01508b..80fe25a40 100644
Binary files a/Pack/Windows/win-x64/Version.dll and b/Pack/Windows/win-x64/Version.dll differ
diff --git a/Pack/Windows/win-x64/Version.exe b/Pack/Windows/win-x64/Version.exe
index 7569d5339..b4b4eaf8e 100644
Binary files a/Pack/Windows/win-x64/Version.exe and b/Pack/Windows/win-x64/Version.exe differ
diff --git a/Pack/Windows/win-x64/asn2.dll b/Pack/Windows/win-x64/asn2.dll
index a4e3eb7d6..99125d525 100644
Binary files a/Pack/Windows/win-x64/asn2.dll and b/Pack/Windows/win-x64/asn2.dll differ
diff --git a/Pack/Windows/win-x64/asn2.exe b/Pack/Windows/win-x64/asn2.exe
index 69a9f5217..ca890fc1f 100644
Binary files a/Pack/Windows/win-x64/asn2.exe and b/Pack/Windows/win-x64/asn2.exe differ
diff --git a/Pack/Windows/win-x64/bootmaker.dll b/Pack/Windows/win-x64/bootmaker.dll
index 61af94ab1..3db39bb3b 100644
Binary files a/Pack/Windows/win-x64/bootmaker.dll and b/Pack/Windows/win-x64/bootmaker.dll differ
diff --git a/Pack/Windows/win-x64/bootmaker.exe b/Pack/Windows/win-x64/bootmaker.exe
index a6b2696ee..c7ec006ed 100644
Binary files a/Pack/Windows/win-x64/bootmaker.exe and b/Pack/Windows/win-x64/bootmaker.exe differ
diff --git a/Pack/Windows/win-x64/commandparse.dll b/Pack/Windows/win-x64/commandparse.dll
index 22b4fdf38..8283069bc 100644
Binary files a/Pack/Windows/win-x64/commandparse.dll and b/Pack/Windows/win-x64/commandparse.dll differ
diff --git a/Pack/Windows/win-x64/commandparse.exe b/Pack/Windows/win-x64/commandparse.exe
index d86dc8706..bc477185d 100644
Binary files a/Pack/Windows/win-x64/commandparse.exe and b/Pack/Windows/win-x64/commandparse.exe differ
diff --git a/Pack/Windows/win-x64/constant.dll b/Pack/Windows/win-x64/constant.dll
index d7c786c66..8e534b5f5 100644
Binary files a/Pack/Windows/win-x64/constant.dll and b/Pack/Windows/win-x64/constant.dll differ
diff --git a/Pack/Windows/win-x64/constant.exe b/Pack/Windows/win-x64/constant.exe
index 3f4dedea5..4b22988db 100644
Binary files a/Pack/Windows/win-x64/constant.exe and b/Pack/Windows/win-x64/constant.exe differ
diff --git a/Pack/Windows/win-x64/domainer.dll b/Pack/Windows/win-x64/domainer.dll
index 49817f543..03d3ff69f 100644
Binary files a/Pack/Windows/win-x64/domainer.dll and b/Pack/Windows/win-x64/domainer.dll differ
diff --git a/Pack/Windows/win-x64/domainer.exe b/Pack/Windows/win-x64/domainer.exe
index ed7c0f162..1e1de9ed7 100644
Binary files a/Pack/Windows/win-x64/domainer.exe and b/Pack/Windows/win-x64/domainer.exe differ
diff --git a/Pack/Windows/win-x64/exceptional.dll b/Pack/Windows/win-x64/exceptional.dll
index b03e0865f..517fb279c 100644
Binary files a/Pack/Windows/win-x64/exceptional.dll and b/Pack/Windows/win-x64/exceptional.dll differ
diff --git a/Pack/Windows/win-x64/exceptional.exe b/Pack/Windows/win-x64/exceptional.exe
index 8821a7d4c..1bcadb3e2 100644
Binary files a/Pack/Windows/win-x64/exceptional.exe and b/Pack/Windows/win-x64/exceptional.exe differ
diff --git a/Pack/Windows/win-x64/fsrgen.dll b/Pack/Windows/win-x64/fsrgen.dll
index badee50d9..ebaf13a03 100644
Binary files a/Pack/Windows/win-x64/fsrgen.dll and b/Pack/Windows/win-x64/fsrgen.dll differ
diff --git a/Pack/Windows/win-x64/fsrgen.exe b/Pack/Windows/win-x64/fsrgen.exe
index 06f703e9c..bf773d51f 100644
Binary files a/Pack/Windows/win-x64/fsrgen.exe and b/Pack/Windows/win-x64/fsrgen.exe differ
diff --git a/Pack/Windows/win-x64/goedel3.dll b/Pack/Windows/win-x64/goedel3.dll
index 015502e30..f7154742f 100644
Binary files a/Pack/Windows/win-x64/goedel3.dll and b/Pack/Windows/win-x64/goedel3.dll differ
diff --git a/Pack/Windows/win-x64/goedel3.exe b/Pack/Windows/win-x64/goedel3.exe
index a53117da4..4f7dfc0ba 100644
Binary files a/Pack/Windows/win-x64/goedel3.exe and b/Pack/Windows/win-x64/goedel3.exe differ
diff --git a/Pack/Windows/win-x64/gscript.dll b/Pack/Windows/win-x64/gscript.dll
index e6f262f46..d59d8be58 100644
Binary files a/Pack/Windows/win-x64/gscript.dll and b/Pack/Windows/win-x64/gscript.dll differ
diff --git a/Pack/Windows/win-x64/gscript.exe b/Pack/Windows/win-x64/gscript.exe
index a35fc0c84..34c7affae 100644
Binary files a/Pack/Windows/win-x64/gscript.exe and b/Pack/Windows/win-x64/gscript.exe differ
diff --git a/Pack/Windows/win-x64/makey.dll b/Pack/Windows/win-x64/makey.dll
index 09337af53..1efc830ca 100644
Binary files a/Pack/Windows/win-x64/makey.dll and b/Pack/Windows/win-x64/makey.dll differ
diff --git a/Pack/Windows/win-x64/makey.exe b/Pack/Windows/win-x64/makey.exe
index aadfc3862..6ac272d45 100644
Binary files a/Pack/Windows/win-x64/makey.exe and b/Pack/Windows/win-x64/makey.exe differ
diff --git a/Pack/Windows/win-x64/protogen.dll b/Pack/Windows/win-x64/protogen.dll
index 78e30ab49..18a799dde 100644
Binary files a/Pack/Windows/win-x64/protogen.dll and b/Pack/Windows/win-x64/protogen.dll differ
diff --git a/Pack/Windows/win-x64/protogen.exe b/Pack/Windows/win-x64/protogen.exe
index c3a2086f0..bc49657e4 100644
Binary files a/Pack/Windows/win-x64/protogen.exe and b/Pack/Windows/win-x64/protogen.exe differ
diff --git a/Pack/Windows/win-x64/registryconfig.dll b/Pack/Windows/win-x64/registryconfig.dll
index 81fe9b7b3..2515bbb4a 100644
Binary files a/Pack/Windows/win-x64/registryconfig.dll and b/Pack/Windows/win-x64/registryconfig.dll differ
diff --git a/Pack/Windows/win-x64/registryconfig.exe b/Pack/Windows/win-x64/registryconfig.exe
index d0e82cc81..473b3938e 100644
Binary files a/Pack/Windows/win-x64/registryconfig.exe and b/Pack/Windows/win-x64/registryconfig.exe differ
diff --git a/Pack/Windows/win-x64/rfctool.dll b/Pack/Windows/win-x64/rfctool.dll
index 65b98152f..0750cfd3b 100644
Binary files a/Pack/Windows/win-x64/rfctool.dll and b/Pack/Windows/win-x64/rfctool.dll differ
diff --git a/Pack/Windows/win-x64/rfctool.exe b/Pack/Windows/win-x64/rfctool.exe
index 3b6a3f0ae..485e59b13 100644
Binary files a/Pack/Windows/win-x64/rfctool.exe and b/Pack/Windows/win-x64/rfctool.exe differ
diff --git a/Protogen/Goedel.Tool.Protogen/Goedel.Tool.Protogen.csproj b/Protogen/Goedel.Tool.Protogen/Goedel.Tool.Protogen.csproj
index cb57e6fe8..38d942383 100644
--- a/Protogen/Goedel.Tool.Protogen/Goedel.Tool.Protogen.csproj
+++ b/Protogen/Goedel.Tool.Protogen/Goedel.Tool.Protogen.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.ASN
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.Protogen
diff --git a/Protogen/protogen/AssemblyVersion.cs b/Protogen/protogen/AssemblyVersion.cs
index 05a2d1691..337bbc90d 100644
--- a/Protogen/protogen/AssemblyVersion.cs
+++ b/Protogen/protogen/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.519")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.519")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.548")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.548")]
diff --git a/Protogen/protogen/protogen.csproj b/Protogen/protogen/protogen.csproj
index 8d5b78278..4c37acea2 100644
--- a/Protogen/protogen/protogen.csproj
+++ b/Protogen/protogen/protogen.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/Protogen/protogen/version.version b/Protogen/protogen/version.version
index c1f185df8..f5ad7575d 100644
--- a/Protogen/protogen/version.version
+++ b/Protogen/protogen/version.version
@@ -1,2 +1,2 @@
-3.0.0.519
-3.0.0.519
+3.0.0.548
+3.0.0.548
diff --git a/RegistryConfig/Goedel.Tool.RegistryConfig/Goedel.Tool.RegistryConfig.csproj b/RegistryConfig/Goedel.Tool.RegistryConfig/Goedel.Tool.RegistryConfig.csproj
index e23245be1..d4dba080b 100644
--- a/RegistryConfig/Goedel.Tool.RegistryConfig/Goedel.Tool.RegistryConfig.csproj
+++ b/RegistryConfig/Goedel.Tool.RegistryConfig/Goedel.Tool.RegistryConfig.csproj
@@ -4,7 +4,7 @@
Library
net5.0
Goedel.Tool.RegistryConfig
- Debug;Release;Focus
+ Debug;Release;Focus;Yaschema
ThresholdSecrets.Com
build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))
Goedel.Tool.RegistryConfig
diff --git a/RegistryConfig/Goedel.Tool.RegistryConfig/RegistrySchema.cs b/RegistryConfig/Goedel.Tool.RegistryConfig/RegistrySchema.cs
index bd74bf591..e33b20b8f 100644
--- a/RegistryConfig/Goedel.Tool.RegistryConfig/RegistrySchema.cs
+++ b/RegistryConfig/Goedel.Tool.RegistryConfig/RegistrySchema.cs
@@ -75,6 +75,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/RegistryConfig/registryconfig/AssemblyVersion.cs b/RegistryConfig/registryconfig/AssemblyVersion.cs
index 7f91a82f8..a8ec6f07a 100644
--- a/RegistryConfig/registryconfig/AssemblyVersion.cs
+++ b/RegistryConfig/registryconfig/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.514")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.514")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.543")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.543")]
diff --git a/RegistryConfig/registryconfig/registryconfig.csproj b/RegistryConfig/registryconfig/registryconfig.csproj
index 1892000dc..2055e4207 100644
--- a/RegistryConfig/registryconfig/registryconfig.csproj
+++ b/RegistryConfig/registryconfig/registryconfig.csproj
@@ -12,6 +12,7 @@
RFCTool
false
false
+ Debug;Release;Yaschema
diff --git a/RegistryConfig/registryconfig/version.version b/RegistryConfig/registryconfig/version.version
index 7fd034ae1..bed734cb8 100644
--- a/RegistryConfig/registryconfig/version.version
+++ b/RegistryConfig/registryconfig/version.version
@@ -1,2 +1,2 @@
-3.0.0.514
-3.0.0.514
+3.0.0.543
+3.0.0.543
diff --git a/Version/Version.csproj b/Version/Version.csproj
index be61ff229..16d5273c4 100644
--- a/Version/Version.csproj
+++ b/Version/Version.csproj
@@ -12,6 +12,7 @@
Version
false
false
+ Debug;Release;Yaschema
diff --git a/YASchema/Goedel.Tool.Yashima/Generate.Script b/YASchema/Goedel.Tool.Yashima/Generate.Script
index ce2c22a43..92b3b4118 100644
--- a/YASchema/Goedel.Tool.Yashima/Generate.Script
+++ b/YASchema/Goedel.Tool.Yashima/Generate.Script
@@ -28,13 +28,6 @@ namespace #{Yaschema.NameSpaceName} {
#filter Client client Yaschema.Top
- ///
- /// Return an initial packet for this connection.
- ///
- //public Packet GetInitial () =>
- // HostCredential==null ? new #{client.WithoutHostCredential.ClassName} () :
- // new #{client.WithHostCredential.ClassName} (HostCredential);
-
#foreach (var packet in client.Entries)
#call GenersateSerializer packet
#end foreach
@@ -49,9 +42,6 @@ namespace #{Yaschema.NameSpaceName} {
}
- ///
- /// Host connection class. Tracks the state of a host connection.
- ///
public partial class ConnectionHost : Connection {
#filter Host host Yaschema.Top
@@ -69,7 +59,19 @@ namespace #{Yaschema.NameSpaceName} {
#end if
#end foreach
#end filter
+#filter Client client Yaschema.Top
+#foreach (var packet in client.Entries)
+#if (packet.Completer)
+ ///
+ /// Perform key exchanges and complete parsing of the packet
+ ///
+ public override void Complete#{packet.Id} () {
+#call ParseMezzanine packet
+ }
+#end if
+#end foreach
+#end filter
}
@@ -129,7 +131,6 @@ namespace #{Yaschema.NameSpaceName} {
,
List ciphertextExtensions = null#!
#end if
-
) {
// The plaintext part
@@ -143,23 +144,23 @@ namespace #{Yaschema.NameSpaceName} {
var plaintextExtensions = new List();
#end if
#if (plaintext.Ephemeral)
- // ClientKeyExchange (out var ephemeral, out var keyId);
- // outerWriter.Write (keyId);
- // outerWriter.Ephemeral (ephemeral);
+ ClientKeyExchange (out var ephemeral, out var clientKeyId);
+ outerWriter.Write (clientKeyId);
+ outerWriter.Write (ephemeral);
#elseif (plaintext.KeyId)
- // ClientKeyExchange (out var keyId);
- // outerWriter.Write (keyId);
+ ClientKeyExchange (out var clientKeyId);
+ outerWriter.Write (clientKeyId);
#end if
#if (plaintext.Ephemerals)
- // AddEphemerals (plaintextExtensions);
+ AddEphemerals (plaintextExtensions);
#end if
#if (plaintext.Challenge)
- // AddChallenge (plaintextExtensions);
+ AddChallenge (plaintextExtensions);
#elseif (plaintext.Response)
- // AddResponse (plaintextExtensions);
+ AddResponse (plaintextExtensions);
#end if
#if (plaintext.Credential)
- // AddCredentials (plaintextExtensions);
+ AddCredentials (plaintextExtensions);
#end if
#if (plaintext.AddExtensions)
plaintextExtensions.AddRangeSafe(plaintextExtensionsIn);
@@ -177,33 +178,37 @@ namespace #{Yaschema.NameSpaceName} {
var mezanineExtensions = new List();
#end if
#if (mezzanine.Ephemeral)
- // MutualKeyExchange (out var ephemeral, out var keyId);
- // mezanineWriter.Write (keyId);
- // mezanineWriter.Ephemeral (ephemeral);
+ MutualKeyExchange (out var ephemeral, out var hostKeyId);
+ mezanineWriter.Write (hostKeyId);
+ mezanineWriter.Write (ephemeral);
#elseif (mezzanine.KeyId)
- // MutualKeyExchange (out var keyId);
- // mezanineWriter.Write (keyId);
+ MutualKeyExchange (out var hostKeyId);
+ mezanineWriter.Write (hostKeyId);
#end if
#if (mezzanine.Credential)
- // AddCredentials (mezanineExtensions);
+ AddCredentials (mezanineExtensions);
#end if
#if (mezzanine.AddExtensions)
mezanineExtensions.AddRangeSafe(mezanineExtensionsIn);
- outerWriter.WriteExtensions(mezanineExtensions);
+ mezanineWriter.WriteExtensions(mezanineExtensions);
#else
- outerWriter.WriteExtensions(plaintextExtensionsIn);
+ mezanineWriter.WriteExtensions(plaintextExtensionsIn);
#end if
#if (packet.HasEncrypted)
// Encrypted inside Mezzanine
var innerWriter = new PacketWriter();
- Write(innerWriter, payload, ciphertextExtensions);
+ innerWriter.WriteExtensions(ciphertextExtensions);
+ innerWriter.Write(payload);
mezanineWriter.Encrypt(MutualKeyOut, innerWriter);
+#else
+ mezanineWriter.Write(payload);
#end if
outerWriter.Encrypt(ClientKeyOut, mezanineWriter);
#elseif (packet.HasEncrypted)
// Encrypted in plaintext
var innerWriter = new PacketWriter();
- Write(innerWriter, payload, ciphertextExtensions);
+ innerWriter.WriteExtensions(ciphertextExtensions);
+ innerWriter.Write(payload);
outerWriter.Encrypt(MutualKeyOut, innerWriter);
#else
// Only have plaintext
@@ -217,6 +222,8 @@ namespace #{Yaschema.NameSpaceName} {
#end method
#method GenerateParser Packet packet
+#% var plaintext = packet.Plaintext;
+#% var mezzanine = packet.Mezzanine;
///
/// Parse the packet received from
@@ -231,27 +238,114 @@ namespace #{Yaschema.NameSpaceName} {
SourcePortId = sourceId
};
- // Read the plaintext part
-
+ // The plaintext part
+ var outerReader = new PacketReaderAesGcm(packet);
+#if (packet.HasPlaintext)
+#if (plaintext.Ephemeral)
+ result.HostKeyId = outerReader.ReadString ();
+ result.ClientEphemeral = outerReader.ReadBinary ();
+#elseif (plaintext.KeyId)
+ result.HostKeyId = outerReader.ReadString ();
+#end if
+#end if
+ result.PlaintextExtensions = outerReader.ReadExtensions();
+#if (packet.Completer)
+ // Parsing the inner packet is deferred until plaintext is parsed.
+ result.Reader = outerReader;
+#else
+#call ParseMezzanine packet
+#end if
return result;
}
#end method
+#method ParseMezzanine Packet packet
+#% var plaintext = packet.Plaintext;
+#% var mezzanine = packet.Mezzanine;
+#if (packet.HasPlaintext)
+#if (plaintext.Ephemeral)
+ // client key exchange (Packet)
+#elseif (plaintext.KeyId)
+ // client key exchange (Packet)
+#end if
+#end if
+#if (packet.HasMezzanine)
+ // Mezzanine
+ var mezanineReader = outerReader.Decrypt (ClientKeyIn);
+#if (mezzanine.Ephemeral)
+ result.ClientKeyId = outerReader.ReadString ();
+ result.HostEphemeral = outerReader.ReadBinary ();
+#elseif (mezzanine.KeyId)
+ result.ClientKeyId = outerReader.ReadString ();
+#end if
+ result.MezzanineExtensions = mezanineReader.ReadExtensions();
+#if (packet.HasPlaintext)
+#if (plaintext.Ephemeral)
+ // host key exchange (Packet)
+#elseif (plaintext.KeyId)
+ // host key exchange (Packet)
+#end if
+#end if
+#if (packet.HasEncrypted)
+ // Encrypted inside Mezzanine
+ var innerReader = mezanineReader.Decrypt (MutualKeyIn);
+ result.CiphertextExtensions = innerReader.ReadExtensions();
+ result.Payload = innerReader.ReadBinary();
+#else
+ result.Payload = mezanineReader.ReadBinary();
+#end if
+#elseif (packet.HasEncrypted)
+ // Encrypted inside Mezzanine
+ var innerReader = mezanineReader.Decrypt (MutualKeyIn);
+ result.CiphertextExtensions = innerReader.ReadExtensions();
+ result.Payload = innerReader.ReadBinary();
+#else
+ // Only have plaintext
+ result.Payload = outerReader.ReadBinary();
+#end if
+#end method
+
#method GenerateCompleter Packet packet
-#if (packet.HasMezzanine)
- ///
- /// Perform key exchanges and complete parsing of the packet
- ///
- public override void Complete () {
- // perform the Mezzanine key exchange here
+#% var plaintext = packet.Plaintext;
+#% var mezzanine = packet.Mezzanine;
+#if (packet.Completer)
+ public PacketReader Reader{ get; set; }
+#end if
+
+#if (packet.HasMezzanine)
+ ///Options specified in the packet mezzanine.
+ public List MezzanineExtensions{ get; set; }
+#end if
#if (packet.HasEncrypted)
- // perform the Mutual key exchange here
+ ///Options specified in the packet ciphertext.
+ public List CiphertextExtensions { get; set; }
+#end if
+#if (packet.HasPlaintext)
+#if (plaintext.Ephemeral)
+ ///Host chosen ephemeral key.
+ public byte[] ClientEphemeral { get; set; }
#end if
- }
+#if (plaintext.KeyId)
+ ///Client Key Identifier.
+ public string HostKeyId { get; set; }
#end if
+#end if
+
+#if (packet.HasMezzanine)
+#if (mezzanine.Ephemeral)
+ ///Client chosen ephemeral key.
+ public byte[] HostEphemeral { get; set; }
+#end if
+#if (mezzanine.KeyId)
+ ///Host Key Identifier.
+ public string ClientKeyId { get; set; }
+#end if
+#end if
+
+
#end method
diff --git a/YASchema/Goedel.Tool.Yashima/Generate.cs b/YASchema/Goedel.Tool.Yashima/Generate.cs
index f284db598..8c9425d61 100644
--- a/YASchema/Goedel.Tool.Yashima/Generate.cs
+++ b/YASchema/Goedel.Tool.Yashima/Generate.cs
@@ -57,13 +57,6 @@ public void GenerateCS (YaschemaStruct Yaschema) {
_Output.Write (" public partial class ConnectionClient : Connection {{\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
foreach (var _client in Yaschema.Top) { if (_client.GetType() == typeof (Client)) { var client = (Client) _client;
- _Output.Write ("\n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" /// Return an initial packet for this connection.\n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" //public Packet GetInitial () =>\n{0}", _Indent);
- _Output.Write (" // HostCredential==null ? new {1} () :\n{0}", _Indent, client.WithoutHostCredential.ClassName);
- _Output.Write (" // new {1} (HostCredential);\n{0}", _Indent, client.WithHostCredential.ClassName);
_Output.Write ("\n{0}", _Indent);
foreach (var packet in client.Entries) {
GenersateSerializer (packet);
@@ -81,9 +74,6 @@ public void GenerateCS (YaschemaStruct Yaschema) {
_Output.Write ("\n{0}", _Indent);
_Output.Write (" }}\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" /// Host connection class. Tracks the state of a host connection.\n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
_Output.Write (" public partial class ConnectionHost : Connection {{\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
foreach (var _host in Yaschema.Top) { if (_host.GetType() == typeof (Host)) { var host = (Host) _host;
@@ -103,7 +93,20 @@ public void GenerateCS (YaschemaStruct Yaschema) {
}
}
}
- _Output.Write ("\n{0}", _Indent);
+ foreach (var _client in Yaschema.Top) { if (_client.GetType() == typeof (Client)) { var client = (Client) _client;
+ foreach (var packet in client.Entries) {
+ if ( (packet.Completer) ) {
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write (" /// \n{0}", _Indent);
+ _Output.Write (" /// Perform key exchanges and complete parsing of the packet\n{0}", _Indent);
+ _Output.Write (" /// \n{0}", _Indent);
+ _Output.Write (" public override void Complete{1} () {{\n{0}", _Indent, packet.Id);
+ ParseMezzanine (packet);
+ _Output.Write (" }}\n{0}", _Indent);
+ }
+ }
+ }
+ }
_Output.Write (" }}\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
@@ -168,7 +171,6 @@ public void GenersateSerializer (Packet packet) {
_Output.Write (",\n{0}", _Indent);
_Output.Write (" List ciphertextExtensions = null", _Indent);
}
- _Output.Write ("\n{0}", _Indent);
_Output.Write (" ) {{\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
_Output.Write (" // The plaintext part\n{0}", _Indent);
@@ -182,23 +184,23 @@ public void GenersateSerializer (Packet packet) {
_Output.Write (" var plaintextExtensions = new List();\n{0}", _Indent);
}
if ( (plaintext.Ephemeral) ) {
- _Output.Write (" // ClientKeyExchange (out var ephemeral, out var keyId);\n{0}", _Indent);
- _Output.Write (" // outerWriter.Write (keyId);\n{0}", _Indent);
- _Output.Write (" // outerWriter.Ephemeral (ephemeral);\n{0}", _Indent);
+ _Output.Write (" ClientKeyExchange (out var ephemeral, out var clientKeyId);\n{0}", _Indent);
+ _Output.Write (" outerWriter.Write (clientKeyId);\n{0}", _Indent);
+ _Output.Write (" outerWriter.Write (ephemeral);\n{0}", _Indent);
} else if ( (plaintext.KeyId)) {
- _Output.Write (" // ClientKeyExchange (out var keyId);\n{0}", _Indent);
- _Output.Write (" // outerWriter.Write (keyId);\n{0}", _Indent);
+ _Output.Write (" ClientKeyExchange (out var clientKeyId);\n{0}", _Indent);
+ _Output.Write (" outerWriter.Write (clientKeyId);\n{0}", _Indent);
}
if ( (plaintext.Ephemerals) ) {
- _Output.Write (" // AddEphemerals (plaintextExtensions);\n{0}", _Indent);
+ _Output.Write (" AddEphemerals (plaintextExtensions);\n{0}", _Indent);
}
if ( (plaintext.Challenge) ) {
- _Output.Write (" // AddChallenge (plaintextExtensions);\n{0}", _Indent);
+ _Output.Write (" AddChallenge (plaintextExtensions);\n{0}", _Indent);
} else if ( (plaintext.Response)) {
- _Output.Write (" // AddResponse (plaintextExtensions);\n{0}", _Indent);
+ _Output.Write (" AddResponse (plaintextExtensions);\n{0}", _Indent);
}
if ( (plaintext.Credential) ) {
- _Output.Write (" // AddCredentials (plaintextExtensions);\n{0}", _Indent);
+ _Output.Write (" AddCredentials (plaintextExtensions);\n{0}", _Indent);
}
if ( (plaintext.AddExtensions) ) {
_Output.Write (" plaintextExtensions.AddRangeSafe(plaintextExtensionsIn);\n{0}", _Indent);
@@ -216,33 +218,37 @@ public void GenersateSerializer (Packet packet) {
_Output.Write (" var mezanineExtensions = new List();\n{0}", _Indent);
}
if ( (mezzanine.Ephemeral) ) {
- _Output.Write (" // MutualKeyExchange (out var ephemeral, out var keyId);\n{0}", _Indent);
- _Output.Write (" // mezanineWriter.Write (keyId);\n{0}", _Indent);
- _Output.Write (" // mezanineWriter.Ephemeral (ephemeral);\n{0}", _Indent);
+ _Output.Write (" MutualKeyExchange (out var ephemeral, out var hostKeyId);\n{0}", _Indent);
+ _Output.Write (" mezanineWriter.Write (hostKeyId);\n{0}", _Indent);
+ _Output.Write (" mezanineWriter.Write (ephemeral);\n{0}", _Indent);
} else if ( (mezzanine.KeyId)) {
- _Output.Write (" // MutualKeyExchange (out var keyId);\n{0}", _Indent);
- _Output.Write (" // mezanineWriter.Write (keyId);\n{0}", _Indent);
+ _Output.Write (" MutualKeyExchange (out var hostKeyId);\n{0}", _Indent);
+ _Output.Write (" mezanineWriter.Write (hostKeyId);\n{0}", _Indent);
}
if ( (mezzanine.Credential) ) {
- _Output.Write (" // AddCredentials (mezanineExtensions);\n{0}", _Indent);
+ _Output.Write (" AddCredentials (mezanineExtensions);\n{0}", _Indent);
}
if ( (mezzanine.AddExtensions) ) {
_Output.Write (" mezanineExtensions.AddRangeSafe(mezanineExtensionsIn);\n{0}", _Indent);
- _Output.Write (" outerWriter.WriteExtensions(mezanineExtensions);\n{0}", _Indent);
+ _Output.Write (" mezanineWriter.WriteExtensions(mezanineExtensions);\n{0}", _Indent);
} else {
- _Output.Write (" outerWriter.WriteExtensions(plaintextExtensionsIn);\n{0}", _Indent);
+ _Output.Write (" mezanineWriter.WriteExtensions(plaintextExtensionsIn);\n{0}", _Indent);
}
if ( (packet.HasEncrypted) ) {
_Output.Write (" // Encrypted inside Mezzanine\n{0}", _Indent);
_Output.Write (" var innerWriter = new PacketWriter();\n{0}", _Indent);
- _Output.Write (" Write(innerWriter, payload, ciphertextExtensions);\n{0}", _Indent);
+ _Output.Write (" innerWriter.WriteExtensions(ciphertextExtensions);\n{0}", _Indent);
+ _Output.Write (" innerWriter.Write(payload);\n{0}", _Indent);
_Output.Write (" mezanineWriter.Encrypt(MutualKeyOut, innerWriter);\n{0}", _Indent);
+ } else {
+ _Output.Write (" mezanineWriter.Write(payload);\n{0}", _Indent);
}
_Output.Write (" outerWriter.Encrypt(ClientKeyOut, mezanineWriter);\n{0}", _Indent);
} else if ( (packet.HasEncrypted) ) {
_Output.Write (" // Encrypted in plaintext\n{0}", _Indent);
_Output.Write (" var innerWriter = new PacketWriter();\n{0}", _Indent);
- _Output.Write (" Write(innerWriter, payload, ciphertextExtensions);\n{0}", _Indent);
+ _Output.Write (" innerWriter.WriteExtensions(ciphertextExtensions);\n{0}", _Indent);
+ _Output.Write (" innerWriter.Write(payload);\n{0}", _Indent);
_Output.Write (" outerWriter.Encrypt(MutualKeyOut, innerWriter);\n{0}", _Indent);
} else {
_Output.Write (" // Only have plaintext\n{0}", _Indent);
@@ -260,6 +266,8 @@ public void GenersateSerializer (Packet packet) {
// GenerateParser
//
public void GenerateParser (Packet packet) {
+ var plaintext = packet.Plaintext;
+ var mezzanine = packet.Mezzanine;
_Output.Write ("\n{0}", _Indent);
_Output.Write (" /// \n{0}", _Indent);
_Output.Write (" /// Parse the packet received from \n{0}", _Indent);
@@ -274,31 +282,122 @@ public void GenerateParser (Packet packet) {
_Output.Write (" SourcePortId = sourceId\n{0}", _Indent);
_Output.Write (" }};\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
- _Output.Write (" // Read the plaintext part\n{0}", _Indent);
- _Output.Write ("\n{0}", _Indent);
+ _Output.Write (" // The plaintext part\n{0}", _Indent);
+ _Output.Write (" var outerReader = new PacketReaderAesGcm(packet);\n{0}", _Indent);
+ if ( (packet.HasPlaintext) ) {
+ if ( (plaintext.Ephemeral) ) {
+ _Output.Write (" result.HostKeyId = outerReader.ReadString ();\n{0}", _Indent);
+ _Output.Write (" result.ClientEphemeral = outerReader.ReadBinary ();\n{0}", _Indent);
+ } else if ( (plaintext.KeyId)) {
+ _Output.Write (" result.HostKeyId = outerReader.ReadString ();\n{0}", _Indent);
+ }
+ }
+ _Output.Write (" result.PlaintextExtensions = outerReader.ReadExtensions();\n{0}", _Indent);
+ if ( (packet.Completer) ) {
+ _Output.Write (" // Parsing the inner packet is deferred until plaintext is parsed.\n{0}", _Indent);
+ _Output.Write (" result.Reader = outerReader;\n{0}", _Indent);
+ } else {
+ ParseMezzanine (packet);
+ }
_Output.Write ("\n{0}", _Indent);
_Output.Write (" return result;\n{0}", _Indent);
_Output.Write (" }}\n{0}", _Indent);
}
+ //
+ // ParseMezzanine
+ //
+ public void ParseMezzanine (Packet packet) {
+ var plaintext = packet.Plaintext;
+ var mezzanine = packet.Mezzanine;
+ if ( (packet.HasPlaintext) ) {
+ if ( (plaintext.Ephemeral) ) {
+ _Output.Write (" // client key exchange (Packet)\n{0}", _Indent);
+ } else if ( (plaintext.KeyId)) {
+ _Output.Write (" // client key exchange (Packet)\n{0}", _Indent);
+ }
+ }
+ if ( (packet.HasMezzanine) ) {
+ _Output.Write (" // Mezzanine\n{0}", _Indent);
+ _Output.Write (" var mezanineReader = outerReader.Decrypt (ClientKeyIn);\n{0}", _Indent);
+ if ( (mezzanine.Ephemeral) ) {
+ _Output.Write (" result.ClientKeyId = outerReader.ReadString ();\n{0}", _Indent);
+ _Output.Write (" result.HostEphemeral = outerReader.ReadBinary ();\n{0}", _Indent);
+ } else if ( (mezzanine.KeyId)) {
+ _Output.Write (" result.ClientKeyId = outerReader.ReadString ();\n{0}", _Indent);
+ }
+ _Output.Write (" result.MezzanineExtensions = mezanineReader.ReadExtensions();\n{0}", _Indent);
+ if ( (packet.HasPlaintext) ) {
+ if ( (plaintext.Ephemeral) ) {
+ _Output.Write (" // host key exchange (Packet)\n{0}", _Indent);
+ } else if ( (plaintext.KeyId)) {
+ _Output.Write (" // host key exchange (Packet)\n{0}", _Indent);
+ }
+ }
+ if ( (packet.HasEncrypted) ) {
+ _Output.Write (" // Encrypted inside Mezzanine\n{0}", _Indent);
+ _Output.Write (" var innerReader = mezanineReader.Decrypt (MutualKeyIn);\n{0}", _Indent);
+ _Output.Write (" result.CiphertextExtensions = innerReader.ReadExtensions();\n{0}", _Indent);
+ _Output.Write (" result.Payload = innerReader.ReadBinary();\n{0}", _Indent);
+ } else {
+ _Output.Write (" result.Payload = mezanineReader.ReadBinary();\n{0}", _Indent);
+ }
+ } else if ( (packet.HasEncrypted) ) {
+ _Output.Write (" // Encrypted inside Mezzanine\n{0}", _Indent);
+ _Output.Write (" var innerReader = mezanineReader.Decrypt (MutualKeyIn);\n{0}", _Indent);
+ _Output.Write (" result.CiphertextExtensions = innerReader.ReadExtensions();\n{0}", _Indent);
+ _Output.Write (" result.Payload = innerReader.ReadBinary();\n{0}", _Indent);
+ } else {
+ _Output.Write (" // Only have plaintext\n{0}", _Indent);
+ _Output.Write (" result.Payload = outerReader.ReadBinary();\n{0}", _Indent);
+ }
+ }
+
+
//
// GenerateCompleter
//
public void GenerateCompleter (Packet packet) {
- if ( (packet.HasMezzanine) ) {
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" /// Perform key exchanges and complete parsing of the packet\n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" public override void Complete () {{\n{0}", _Indent);
- _Output.Write (" // perform the Mezzanine key exchange here\n{0}", _Indent);
- _Output.Write ("\n{0}", _Indent);
- if ( (packet.HasEncrypted) ) {
- _Output.Write (" // perform the Mutual key exchange here\n{0}", _Indent);
- _Output.Write ("\n{0}", _Indent);
+ var plaintext = packet.Plaintext;
+ var mezzanine = packet.Mezzanine;
+ _Output.Write ("\n{0}", _Indent);
+ if ( (packet.Completer) ) {
+ _Output.Write (" public PacketReader Reader{{ get; set; }}\n{0}", _Indent);
+ }
+ _Output.Write ("\n{0}", _Indent);
+ if ( (packet.HasMezzanine) ) {
+ _Output.Write (" ///Options specified in the packet mezzanine. \n{0}", _Indent);
+ _Output.Write (" public List MezzanineExtensions{{ get; set; }}\n{0}", _Indent);
+ }
+ if ( (packet.HasEncrypted) ) {
+ _Output.Write (" ///Options specified in the packet ciphertext. \n{0}", _Indent);
+ _Output.Write (" public List CiphertextExtensions {{ get; set; }}\n{0}", _Indent);
+ }
+ _Output.Write ("\n{0}", _Indent);
+ if ( (packet.HasPlaintext) ) {
+ if ( (plaintext.Ephemeral) ) {
+ _Output.Write (" ///Host chosen ephemeral key. \n{0}", _Indent);
+ _Output.Write (" public byte[] ClientEphemeral {{ get; set; }}\n{0}", _Indent);
+ }
+ if ( (plaintext.KeyId) ) {
+ _Output.Write (" ///Client Key Identifier. \n{0}", _Indent);
+ _Output.Write (" public string HostKeyId {{ get; set; }}\n{0}", _Indent);
}
- _Output.Write (" }}\n{0}", _Indent);
}
+ _Output.Write ("\n{0}", _Indent);
+ if ( (packet.HasMezzanine) ) {
+ if ( (mezzanine.Ephemeral) ) {
+ _Output.Write (" ///Client chosen ephemeral key. \n{0}", _Indent);
+ _Output.Write (" public byte[] HostEphemeral {{ get; set; }}\n{0}", _Indent);
+ }
+ if ( (mezzanine.KeyId) ) {
+ _Output.Write (" ///Host Key Identifier. \n{0}", _Indent);
+ _Output.Write (" public string ClientKeyId {{ get; set; }}\n{0}", _Indent);
+ }
+ }
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write ("\n{0}", _Indent);
}
diff --git a/YASchema/Goedel.Tool.Yashima/Goedel.Tool.Yaschema.csproj b/YASchema/Goedel.Tool.Yashima/Goedel.Tool.Yaschema.csproj
index ee8cb4ffe..f7d7bde0e 100644
--- a/YASchema/Goedel.Tool.Yashima/Goedel.Tool.Yaschema.csproj
+++ b/YASchema/Goedel.Tool.Yashima/Goedel.Tool.Yaschema.csproj
@@ -12,6 +12,7 @@
Constant Manager
false
false
+ Debug;Release;Yaschema
diff --git a/YASchema/Goedel.Tool.Yashima/YaschemaPlus.cs b/YASchema/Goedel.Tool.Yashima/YaschemaPlus.cs
index eb348221e..ab643b977 100644
--- a/YASchema/Goedel.Tool.Yashima/YaschemaPlus.cs
+++ b/YASchema/Goedel.Tool.Yashima/YaschemaPlus.cs
@@ -52,13 +52,12 @@ public partial class Packet {
-
public bool HasPlaintext => Plaintext != null;
public bool HasMezzanine => Mezzanine != null;
public bool HasEncrypted => Encrypted != null;
-
+ public bool Completer => IsClient & (HasMezzanine | HasEncrypted);
public Initial Initial;
@@ -75,17 +74,19 @@ public partial class Packet {
public override void Init(_Choice Parent) {
base.Init(Parent);
_Base.Packets.Add(this);
+
+
IsClient = _Parent is Client;
- if (Parent is Client client) {
- if (IsInitial) {
- if (IsInitialHostCredential) {
- client.WithHostCredential = this;
- }
- else {
- client.WithoutHostCredential = this;
- }
- }
- }
+ //if (Parent is Client client) {
+ // if (IsInitial) {
+ // if (IsInitialHostCredential) {
+ // client.WithHostCredential = this;
+ // }
+ // else {
+ // client.WithoutHostCredential = this;
+ // }
+ // }
+ // }
}
}
@@ -103,8 +104,8 @@ public partial class _Choice {
}
public partial class Client {
- public Packet WithHostCredential;
- public Packet WithoutHostCredential;
+ //public Packet WithHostCredential;
+ //public Packet WithoutHostCredential;
//public override void Init(_Choice Parent) : base{
// }
diff --git a/YASchema/Goedel.Tool.Yashima/YaschemaSchema.cs b/YASchema/Goedel.Tool.Yashima/YaschemaSchema.cs
index 553f5a315..276811fce 100644
--- a/YASchema/Goedel.Tool.Yashima/YaschemaSchema.cs
+++ b/YASchema/Goedel.Tool.Yashima/YaschemaSchema.cs
@@ -125,6 +125,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/YASchema/yaschema/AssemblyVersion.cs b/YASchema/yaschema/AssemblyVersion.cs
index 154e9112b..d05a6f931 100644
--- a/YASchema/yaschema/AssemblyVersion.cs
+++ b/YASchema/yaschema/AssemblyVersion.cs
@@ -1,6 +1,6 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.599")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.599")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.634")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.634")]
diff --git a/YASchema/yaschema/version.version b/YASchema/yaschema/version.version
index d8fd3c7c9..a60523726 100644
--- a/YASchema/yaschema/version.version
+++ b/YASchema/yaschema/version.version
@@ -1,2 +1,2 @@
-3.0.0.599
-3.0.0.599
+3.0.0.634
+3.0.0.634
diff --git a/YASchema/yaschema/yaschema.csproj b/YASchema/yaschema/yaschema.csproj
index 26b9bcdb7..6a9ee0e84 100644
--- a/YASchema/yaschema/yaschema.csproj
+++ b/YASchema/yaschema/yaschema.csproj
@@ -12,6 +12,7 @@
Constant Manager
false
false
+ Debug;Release;Yaschema
diff --git a/protogen/Goedel.Tool.ProtoGen/ProtoGen.cs b/protogen/Goedel.Tool.ProtoGen/ProtoGen.cs
index bf0c4af37..f8faa059c 100644
--- a/protogen/Goedel.Tool.ProtoGen/ProtoGen.cs
+++ b/protogen/Goedel.Tool.ProtoGen/ProtoGen.cs
@@ -235,6 +235,7 @@ public abstract partial class _Choice {
public virtual void Init (_Choice parent) {
_Parent = parent;
+ _Base ??= parent?._Base;
}
diff --git a/win-x64-Safety-Feb2021.zip b/win-x64-Safety-Feb2021.zip
new file mode 100644
index 000000000..24373e98b
Binary files /dev/null and b/win-x64-Safety-Feb2021.zip differ