Skip to content

Commit

Permalink
Update to .Net 6, EF 6, Adding Goerli and Sepolia, to sql server. Add…
Browse files Browse the repository at this point in the history
… fields for 1559. Recreate sql server migrations, sql scripts. DbSchema names allow to generate using a string, instead of enum constants
  • Loading branch information
juanfranblanco committed Oct 14, 2022
1 parent 9c348f4 commit 60e62b7
Show file tree
Hide file tree
Showing 90 changed files with 6,756 additions and 3,519 deletions.
20 changes: 16 additions & 4 deletions src/Nethereum.BlockchainProcessing.Storage.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29021.104
# Visual Studio Version 17
VisualStudioVersion = 17.4.32916.344
MinimumVisualStudioVersion = 15.0.26124.0
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nethereum.BlockchainStore.Azure.LogProcessor.Db", "Nethereum.BlockchainStore.Azure.LogProcessor.Db\Nethereum.BlockchainStore.Azure.LogProcessor.Db.csproj", "{B4063D96-347C-476D-AC81-5E6020F5DBC4}"
EndProject
Expand All @@ -11,8 +11,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nethereum.BlockchainStore.C
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nethereum.BlockchainStore.CosmosCore.Console", "Nethereum.BlockchainStore.CosmosCore.Console\Nethereum.BlockchainStore.CosmosCore.Console.csproj", "{846C1948-EBED-4005-B281-AF6A055FB8EF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5551D3F6-DE86-4AAA-9820-92D996BCB800}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nethereum.BlockchainStore.Csv", "Nethereum.BlockchainStore.Csv\Nethereum.BlockchainStore.Csv.csproj", "{8D63D180-DEBD-4378-B377-3D0F142035F9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nethereum.BlockchainStore.Csv.Console", "Nethereum.BlockchainStore.Csv.Console\Nethereum.BlockchainStore.Csv.Console.csproj", "{A609BF84-5995-456C-B848-854B3C4488FC}"
Expand Down Expand Up @@ -117,6 +115,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nethereum.BlockchainStore.S
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nethereum.BlockchainStore.Queue.Azure", "Nethereum.BlockchainStore.Queue.Azure\Nethereum.BlockchainStore.Queue.Azure.csproj", "{25DD3631-513A-4C26-8E1B-B038B3D530E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nethereum.Web3", "..\..\Nethereum\src\Nethereum.Web3\Nethereum.Web3.csproj", "{9123BE6E-F492-49B2-BE08-08AE8F261489}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -595,6 +595,18 @@ Global
{25DD3631-513A-4C26-8E1B-B038B3D530E9}.Release|x64.Build.0 = Release|Any CPU
{25DD3631-513A-4C26-8E1B-B038B3D530E9}.Release|x86.ActiveCfg = Release|Any CPU
{25DD3631-513A-4C26-8E1B-B038B3D530E9}.Release|x86.Build.0 = Release|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Debug|x64.ActiveCfg = Debug|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Debug|x64.Build.0 = Debug|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Debug|x86.ActiveCfg = Debug|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Debug|x86.Build.0 = Debug|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Release|Any CPU.Build.0 = Release|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Release|x64.ActiveCfg = Release|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Release|x64.Build.0 = Release|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Release|x86.ActiveCfg = Release|Any CPU
{9123BE6E-F492-49B2-BE08-08AE8F261489}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp3.1</TargetFrameworks>
<TargetFrameworks>net6.0</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<UserSecretsId>Nethereum.BlockchainStore.AzureTables</UserSecretsId>
<IsPackable>false</IsPackable>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ public string Address
//Store as a string so it can be parsed as a BigInteger
public override string BlockNumber { get; set; } = string.Empty;



public static AddressTransaction CreateAddressTransaction(
RPC.Eth.DTOs.Transaction transactionSource,
TransactionReceipt transactionReceipt,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ public string BlockNumber
public string GasUsed { get; set; } = string.Empty;
public string TimeStamp { get; set; } = string.Empty;
public long TransactionCount { get; set; } = 0;
public string BaseFeePerGas {get; set;} = string.Empty;

public void SetBlockNumber(HexBigInteger blockNumber)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public abstract class TransactionBase : TableEntity
public bool HasVmStack{ get; set; } = false;
public string NewContractAddress{ get; set; } = string.Empty;
public bool FailedCreateContract{ get; set; } = false;
public string MaxFeePerGas { get; set; } = string.Empty;
public string MaxPriorityFeePerGas { get; set; } = string.Empty;

public static TransactionBase CreateTransaction(
TransactionBase transaction,
Expand Down Expand Up @@ -58,6 +60,8 @@ public abstract class TransactionBase : TableEntity
transaction.SetTimeStamp(timeStamp);
transaction.Error = error ?? string.Empty;
transaction.HasVmStack = hasVmStack;
transaction.MaxFeePerGas = transactionSource.MaxFeePerGas?.Value.ToString();
transaction.MaxPriorityFeePerGas = transactionSource.MaxPriorityFeePerGas?.Value.ToString();

return transaction;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Authors>$(DefaultAuthors), $(OtherAuthors)</Authors>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
Expand All @@ -13,8 +13,13 @@

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
<PackageReference Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />

<PackageReference Include="WindowsAzure.Storage" Version="9.3.3" />
</ItemGroup>

<ItemGroup>
<PackageReference Condition="'$(UseLocalNethereum)' == 'false'" Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<ProjectReference Condition="'$(UseLocalNethereum)' == 'true'" Include="..\..\..\Nethereum\src\Nethereum.Web3\Nethereum.Web3.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand All @@ -11,7 +11,8 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<PackageReference Condition="'$(UseLocalNethereum)' == 'false'" Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<ProjectReference Condition="'$(UseLocalNethereum)' == 'true'" Include="..\..\..\Nethereum\src\Nethereum.Web3\Nethereum.Web3.csproj" />
</ItemGroup>

</Project>
15 changes: 7 additions & 8 deletions src/Nethereum.BlockchainStore.Console/StorageProcessorConsole.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,9 @@ namespace Nethereum.BlockchainStore.Console
public class StorageProcessorConsole<TRepositoryFactory>
where TRepositoryFactory : IBlockchainStoreRepositoryFactory, IBlockProgressRepositoryFactory
{
ILog log = LoggerFactory
ILogger log = LoggerFactory
.Create(builder => builder.AddConsole())
.CreateLogger<StorageProcessorConsole<TRepositoryFactory>>()
.ToILog();
.CreateLogger<StorageProcessorConsole<TRepositoryFactory>>();

public StorageProcessorConsole(
string[] consoleArgs,
Expand All @@ -30,7 +29,7 @@ public class StorageProcessorConsole<TRepositoryFactory>
Action<TRepositoryFactory> disposeRepositoriesCallback = null
)
{
log.Info("StorageProcessorConsole constructor");
log.LogInformation("StorageProcessorConsole constructor");
ConsoleArgs = consoleArgs;
UserSecretsId = userSecretsId;
CreateRepositoryFactoryCallback = createRepositoryFactoryCallback;
Expand Down Expand Up @@ -70,7 +69,7 @@ public class StorageProcessorConsole<TRepositoryFactory>
}
catch (Exception ex)
{
log?.Error(ex);
log?.LogError(ex.Message);
if(repoFactory != null) DisposeAction?.Invoke(repoFactory);
return 1;
}
Expand All @@ -82,9 +81,9 @@ private BlockchainProcessor CreateBlockChainProcessor(TRepositoryFactory repoFac
var web3 = new Web3.Web3(TargetConfiguration.BlockchainUrl);

var steps = new BlockProcessingSteps();
steps.BlockStep.AddProcessorHandler((b) => { log.Info($"Processing block {b.Number.Value}, Tx Count: {b.Transactions.Length}"); return Task.CompletedTask; });
steps.TransactionReceiptStep.AddProcessorHandler((tx) => { log.Info($"\tTransaction: Index: {tx.Transaction.TransactionIndex}, Hash: {tx.TransactionHash}"); return Task.CompletedTask; });
steps.FilterLogStep.AddProcessorHandler((l) => { log.Info($"\t\tLog: Index: {l.LogIndex}"); return Task.CompletedTask; });
steps.BlockStep.AddProcessorHandler((b) => { log.LogInformation($"Processing block {b.Number.Value}, Tx Count: {b.Transactions.Length}"); return Task.CompletedTask; });
steps.TransactionReceiptStep.AddProcessorHandler((tx) => { log.LogInformation($"\tTransaction: Index: {tx.Transaction.TransactionIndex}, Hash: {tx.TransactionHash}"); return Task.CompletedTask; });
steps.FilterLogStep.AddProcessorHandler((l) => { log.LogInformation($"\t\tLog: Index: {l.LogIndex}"); return Task.CompletedTask; });

var orchestrator = new BlockCrawlOrchestrator(web3.Eth, steps);
orchestrator.ContractCreatedCrawlerStep.RetrieveCode = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<UserSecretsId>Nethereum.BlockchainStore.CosmosCore.UserSecrets</UserSecretsId>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<IsPackable>false</IsPackable>
<UserSecretsId>Nethereum.BlockchainStore.CosmosCore.UserSecrets.UnitTests</UserSecretsId>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Authors>$(OtherAuthors), $(DefaultAuthors)</Authors>
<UserSecretsId>Nethereum.BlockchainStore.CosmosCore.UserSecrets</UserSecretsId>
<Description>Store Ethereum block chain data in Azure Cosmos Db.</Description>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.2.1" />
<PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.2.1" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Nethereum.Configuration.Utils\Nethereum.Microsoft.Configuration.Utils.csproj" />
</ItemGroup>

<ItemGroup>
<PackageReference Condition="'$(UseLocalNethereum)' == 'false'" Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<ProjectReference Condition="'$(UseLocalNethereum)' == 'true'" Include="..\..\..\Nethereum\src\Nethereum.Web3\Nethereum.Web3.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>

<IsPackable>false</IsPackable>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<Authors>$(OtherAuthors), $(DefaultAuthors)</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Store Ethereum blockchain data in CSV format.</Description>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<PackageReference Include="CsvHelper" Version="12.1.1" />
</ItemGroup>

<ItemGroup>
</ItemGroup>

<ItemGroup>
<PackageReference Condition="'$(UseLocalNethereum)' == 'false'" Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<ProjectReference Condition="'$(UseLocalNethereum)' == 'true'" Include="..\..\..\Nethereum\src\Nethereum.Web3\Nethereum.Web3.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<Authors>Kevin Small</Authors>
<TargetFramework>net461</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Store Ethereum blockchain data in SAP Hana using Entity Framework.</Description>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Authors>Kevin Small, $(OtherAuthors), $(DefaultAuthors)</Authors>
<Description>Store Ethereum blockchain data in SAP Hana using Entity Framework (not core).</Description>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<Authors>$(OtherAuthors)</Authors>
<TargetFramework>net461</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Store Ethereum blockchain data in Sql Server using Entity Framework.</Description>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<Authors>$(OtherAuthors), $(DefaultAuthors)</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Store Ethereum blockchain data in Sql Server using Entity Framework (not core).</Description>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<Authors>$(OtherAuthors)</Authors>
<TargetFramework>net461</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Store Ethereum blockchain data in Sqlite using Entity Framework.</Description>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Authors>$(OtherAuthors), $(DefaultAuthors)</Authors>
<Description>Store Ethereum blockchain data in Sqlite using Entity Framework (not core).</Description>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ public BlockEntityBuilder()
Property(b => b.GasUsed).IsBigInteger();
Property(b => b.Timestamp).IsBigInteger();
Property(b => b.Nonce).IsBigInteger();
Property(b => b.BaseFeePerGas).IsBigInteger();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ public TransactionEntityBuilder()
Property(b => b.GasUsed).IsBigInteger();
Property(b => b.Nonce).IsBigInteger();
Property(b => b.CumulativeGasUsed).IsBigInteger();

Property(b => b.EffectiveGasPrice).IsBigInteger();
Property(b => b.MaxFeePerGas).IsBigInteger();
Property(b => b.MaxPriorityFeePerGas).IsBigInteger();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\buildConf\Generic.props" />
<PropertyGroup>
<Authors> $(OtherAuthors), $(DefaultAuthors)</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Store Ethereum blockchain data using Entity Framework (not EF core). This package only contains the base components. Use the other DB specific packages available for Sqlite, SqlServer etc.</Description>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<PackageReference Include="EntityFramework" Version="6.2.0" />
</ItemGroup>

<ItemGroup>

</ItemGroup>
<ItemGroup>
<PackageReference Condition="'$(UseLocalNethereum)' == 'false'" Include="Nethereum.Web3" Version="$(NethereumWeb3Version)" />
<ProjectReference Condition="'$(UseLocalNethereum)' == 'true'" Include="..\..\..\Nethereum\src\Nethereum.Web3\Nethereum.Web3.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<ApplicationIcon />
<StartupObject />
<GenerateProgramFile>false</GenerateProgramFile>
Expand Down

0 comments on commit 60e62b7

Please sign in to comment.