Skip to content

Commit 4ab23b7

Browse files
authored
Merge b4c0996 into 99ca878
2 parents 99ca878 + b4c0996 commit 4ab23b7

23 files changed

+1471
-73
lines changed

builds/posix/Makefile.in

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ $(NBACKUP): $(NBACKUP_Objects) $(COMMON_LIB)
533533
# plugins - some of them are required to build examples, use separate entry for them
534534
#
535535

536-
.PHONY: udr legacy_user_management legacy_auth_server trace auth_debug udf_compat
536+
.PHONY: udr legacy_user_management legacy_auth_server trace auth_debug udf_compat chacha
537537
UDR_PLUGIN = $(call makePluginName,udr_engine)
538538
LEGACY_USER_MANAGER = $(call makePluginName,Legacy_UserManager)
539539
LEGACY_AUTH_SERVER = $(call makePluginName,Legacy_Auth)
@@ -542,13 +542,14 @@ FBTRACE = $(call makePluginName,fbtrace)
542542
AUTH_DEBUGGER = $(call makePluginName,Auth_Debug)
543543
UDF_BACKWARD_COMPATIBILITY_BASENAME = $(LIB_PREFIX)udf_compat.$(SHRLIB_EXT)
544544
UDF_BACKWARD_COMPATIBILITY = $(PLUGINS)/udr/$(UDF_BACKWARD_COMPATIBILITY_BASENAME)
545+
CHACHA = $(call makePluginName,ChaCha)
545546

546547
BUILD_DEBUG:=
547548
ifeq ($(TARGET),Debug)
548549
BUILD_DEBUG:=auth_debug
549550
endif
550551

551-
plugins: udr legacy_user_management legacy_auth_server srp_user_management trace $(BUILD_DEBUG) udf_compat
552+
plugins: udr legacy_user_management legacy_auth_server srp_user_management trace $(BUILD_DEBUG) udf_compat chacha
552553

553554
udr: $(UDR_PLUGIN) $(PLUGINS)/udr_engine.conf
554555

@@ -565,6 +566,12 @@ $(LEGACY_USER_MANAGER): $(LEGACY_USERS_MANAGE_Objects) $(COMMON_LIB)
565566
$(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK)\
566567
$(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libLegacy_UserManager.$(SHRLIB_EXT))
567568

569+
chacha: $(CHACHA)
570+
571+
$(CHACHA): $(Chacha_Objects) $(COMMON_LIB)
572+
$(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK)\
573+
$(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libChaCha.$(SHRLIB_EXT))
574+
568575
legacy_auth_server: $(LEGACY_AUTH_SERVER)
569576

570577
$(LEGACY_AUTH_SERVER): $(LEGACY_AUTH_SERVER_Objects) $(COMMON_LIB)

builds/posix/make.shared.variables

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ Remote_Client_Objects:= $(Remote_Common) $(Remote_Client)
6565
AllObjects += $(Remote_Common) $(Remote_Server) $(Remote_Client)
6666

6767

68+
# Chacha plugin
69+
Chacha_Objects:= $(call dirObjects,plugins/crypt/chacha)
70+
71+
AllObjects += $(Chacha_Objects)
72+
6873
# Engine
6974
Engine_Objects:= $(call dirObjects,jrd) $(call dirObjects,dsql) $(call dirObjects,jrd/extds) \
7075
$(call dirObjects,jrd/recsrc) $(call dirObjects,jrd/replication) $(call dirObjects,jrd/trace) \

builds/win32/msvc10/Firebird.sln

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy_auth", "legacy_auth.
7979
EndProject
8080
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "udf_compat", "udf_compat.vcxproj", "{6794EB8C-6425-422D-A3B0-14EED54C0E98}"
8181
EndProject
82+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chacha", "chacha.vcxproj", "{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}"
83+
EndProject
8284
Global
8385
GlobalSection(SolutionConfigurationPlatforms) = preSolution
8486
Debug|Win32 = Debug|Win32
@@ -353,6 +355,14 @@ Global
353355
{6794EB8C-6425-422D-A3B0-14EED54C0E98}.Release|Win32.Build.0 = Release|Win32
354356
{6794EB8C-6425-422D-A3B0-14EED54C0E98}.Release|x64.ActiveCfg = Release|x64
355357
{6794EB8C-6425-422D-A3B0-14EED54C0E98}.Release|x64.Build.0 = Release|x64
358+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|Win32.ActiveCfg = Debug|Win32
359+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|Win32.Build.0 = Debug|Win32
360+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|x64.ActiveCfg = Debug|x64
361+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|x64.Build.0 = Debug|x64
362+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|Win32.ActiveCfg = Release|Win32
363+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|Win32.Build.0 = Release|Win32
364+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|x64.ActiveCfg = Release|x64
365+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|x64.Build.0 = Release|x64
356366
EndGlobalSection
357367
GlobalSection(SolutionProperties) = preSolution
358368
HideSolutionNode = FALSE

builds/win32/msvc10/chacha.vcxproj

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|Win32">
5+
<Configuration>Debug</Configuration>
6+
<Platform>Win32</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Debug|x64">
9+
<Configuration>Debug</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Release|Win32">
13+
<Configuration>Release</Configuration>
14+
<Platform>Win32</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|x64">
17+
<Configuration>Release</Configuration>
18+
<Platform>x64</Platform>
19+
</ProjectConfiguration>
20+
</ItemGroup>
21+
<PropertyGroup Label="Globals">
22+
<ProjectGuid>{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}</ProjectGuid>
23+
<ProjectName>chacha</ProjectName>
24+
</PropertyGroup>
25+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
26+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
27+
<ConfigurationType>DynamicLibrary</ConfigurationType>
28+
<CharacterSet>MultiByte</CharacterSet>
29+
</PropertyGroup>
30+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
31+
<ConfigurationType>DynamicLibrary</ConfigurationType>
32+
<CharacterSet>MultiByte</CharacterSet>
33+
</PropertyGroup>
34+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
35+
<ConfigurationType>DynamicLibrary</ConfigurationType>
36+
<CharacterSet>MultiByte</CharacterSet>
37+
</PropertyGroup>
38+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
39+
<ConfigurationType>DynamicLibrary</ConfigurationType>
40+
<CharacterSet>MultiByte</CharacterSet>
41+
</PropertyGroup>
42+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
43+
<ImportGroup Label="ExtensionSettings">
44+
</ImportGroup>
45+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
46+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
47+
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
48+
<Import Project="FirebirdCommon.props" />
49+
<Import Project="FirebirdRelease.props" />
50+
<Import Project="DllNoEmbedManifest.props" />
51+
</ImportGroup>
52+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
53+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
54+
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
55+
<Import Project="FirebirdCommon.props" />
56+
<Import Project="FirebirdDebug.props" />
57+
<Import Project="DllNoEmbedManifest.props" />
58+
</ImportGroup>
59+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
60+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61+
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
62+
<Import Project="FirebirdCommon.props" />
63+
<Import Project="FirebirdRelease.props" />
64+
<Import Project="DllNoEmbedManifest.props" />
65+
</ImportGroup>
66+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
67+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
68+
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
69+
<Import Project="FirebirdCommon.props" />
70+
<Import Project="FirebirdDebug.props" />
71+
<Import Project="DllNoEmbedManifest.props" />
72+
</ImportGroup>
73+
<PropertyGroup Label="UserMacros" />
74+
<PropertyGroup>
75+
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
76+
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
77+
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
78+
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
79+
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
80+
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
81+
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
82+
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
83+
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
84+
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
85+
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
86+
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
87+
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
88+
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
89+
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
90+
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
91+
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
92+
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
93+
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
94+
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
95+
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\</OutDir>
96+
</PropertyGroup>
97+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
98+
<ClCompile>
99+
<Optimization>Disabled</Optimization>
100+
<PreprocessorDefinitions>WIN32;_DEBUG;DEV_BUILD;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
101+
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
102+
</ClCompile>
103+
<Link>
104+
<RandomizedBaseAddress>false</RandomizedBaseAddress>
105+
<DataExecutionPrevention>
106+
</DataExecutionPrevention>
107+
<ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile>
108+
<AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
109+
<SubSystem>Windows</SubSystem>
110+
</Link>
111+
</ItemDefinitionGroup>
112+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
113+
<ClCompile>
114+
<Optimization>MaxSpeed</Optimization>
115+
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
116+
<IntrinsicFunctions>true</IntrinsicFunctions>
117+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
118+
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
119+
<PrecompiledHeader>
120+
</PrecompiledHeader>
121+
</ClCompile>
122+
<Link>
123+
<RandomizedBaseAddress>false</RandomizedBaseAddress>
124+
<DataExecutionPrevention>
125+
</DataExecutionPrevention>
126+
<ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile>
127+
<AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
128+
<SubSystem>Windows</SubSystem>
129+
</Link>
130+
</ItemDefinitionGroup>
131+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
132+
<Midl>
133+
<TargetEnvironment>X64</TargetEnvironment>
134+
</Midl>
135+
<ClCompile>
136+
<Optimization>Disabled</Optimization>
137+
<PreprocessorDefinitions>WIN32;_DEBUG;DEV_BUILD;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
138+
</ClCompile>
139+
<Link>
140+
<RandomizedBaseAddress>false</RandomizedBaseAddress>
141+
<DataExecutionPrevention>
142+
</DataExecutionPrevention>
143+
<TargetMachine>MachineX64</TargetMachine>
144+
<ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile>
145+
<AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
146+
<SubSystem>Windows</SubSystem>
147+
</Link>
148+
</ItemDefinitionGroup>
149+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
150+
<Midl>
151+
<TargetEnvironment>X64</TargetEnvironment>
152+
</Midl>
153+
<ClCompile>
154+
<Optimization>MaxSpeed</Optimization>
155+
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
156+
<IntrinsicFunctions>true</IntrinsicFunctions>
157+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
158+
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
159+
<PrecompiledHeader>
160+
</PrecompiledHeader>
161+
</ClCompile>
162+
<Link>
163+
<RandomizedBaseAddress>false</RandomizedBaseAddress>
164+
<DataExecutionPrevention>
165+
</DataExecutionPrevention>
166+
<TargetMachine>MachineX64</TargetMachine>
167+
<ModuleDefinitionFile>..\defs\plugin.def</ModuleDefinitionFile>
168+
<AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
169+
<SubSystem>Windows</SubSystem>
170+
</Link>
171+
</ItemDefinitionGroup>
172+
<ItemGroup>
173+
<ResourceCompile Include="..\..\..\src\jrd\version.rc" />
174+
</ItemGroup>
175+
<ItemGroup>
176+
<None Include="..\defs\plugin.def" />
177+
</ItemGroup>
178+
<ItemGroup>
179+
<ProjectReference Include="common.vcxproj">
180+
<Project>{15605f44-bffd-444f-ad4c-55dc9d704465}</Project>
181+
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
182+
</ProjectReference>
183+
<ProjectReference Include="yvalve.vcxproj">
184+
<Project>{4fe03933-98cd-4879-a135-fd9430087a6b}</Project>
185+
</ProjectReference>
186+
</ItemGroup>
187+
<ItemGroup>
188+
<ClCompile Include="..\..\..\src\plugins\crypt\chacha\ChaCha.cpp" />
189+
</ItemGroup>
190+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
191+
<ImportGroup Label="ExtensionTargets">
192+
</ImportGroup>
193+
</Project>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup>
4+
<None Include="..\defs\plugin.def" />
5+
</ItemGroup>
6+
<ItemGroup>
7+
<Filter Include="Source files">
8+
<UniqueIdentifier>{ae75b2f0-6301-43d5-ac84-b552b3f9b1fb}</UniqueIdentifier>
9+
</Filter>
10+
<Filter Include="Resource files">
11+
<UniqueIdentifier>{8a20ce21-8fe2-4921-bdf3-9e65efd23d2a}</UniqueIdentifier>
12+
</Filter>
13+
</ItemGroup>
14+
<ItemGroup>
15+
<ClCompile Include="..\..\..\src\plugins\crypt\chacha\ChaCha.cpp">
16+
<Filter>Source files</Filter>
17+
</ClCompile>
18+
</ItemGroup>
19+
<ItemGroup>
20+
<ResourceCompile Include="..\..\..\src\jrd\version.rc">
21+
<Filter>Resource files</Filter>
22+
</ResourceCompile>
23+
</ItemGroup>
24+
</Project>

builds/win32/msvc12/Firebird.sln

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy_auth", "legacy_auth.
8484
EndProject
8585
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "udf_compat", "udf_compat.vcxproj", "{6794EB8C-6425-422D-A3B0-14EED54C0E98}"
8686
EndProject
87+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chacha", "chacha.vcxproj", "{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}"
88+
EndProject
8789
Global
8890
GlobalSection(SolutionConfigurationPlatforms) = preSolution
8991
Debug|Win32 = Debug|Win32
@@ -358,6 +360,14 @@ Global
358360
{6794EB8C-6425-422D-A3B0-14EED54C0E98}.Release|Win32.Build.0 = Release|Win32
359361
{6794EB8C-6425-422D-A3B0-14EED54C0E98}.Release|x64.ActiveCfg = Release|x64
360362
{6794EB8C-6425-422D-A3B0-14EED54C0E98}.Release|x64.Build.0 = Release|x64
363+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|Win32.ActiveCfg = Debug|Win32
364+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|Win32.Build.0 = Debug|Win32
365+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|x64.ActiveCfg = Debug|x64
366+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Debug|x64.Build.0 = Debug|x64
367+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|Win32.ActiveCfg = Release|Win32
368+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|Win32.Build.0 = Release|Win32
369+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|x64.ActiveCfg = Release|x64
370+
{F2E1A852-5A4B-4162-9DA8-0363805FCFD0}.Release|x64.Build.0 = Release|x64
361371
EndGlobalSection
362372
GlobalSection(SolutionProperties) = preSolution
363373
HideSolutionNode = FALSE

0 commit comments

Comments
 (0)