This commit is contained in:
Laurent Perron
2016-12-13 15:51:23 +01:00
17 changed files with 266 additions and 637 deletions

2
.gitignore vendored
View File

@@ -38,3 +38,5 @@ src/gen/
objs/
temp/
lib/
examples/csharp/solution/*.csproj
examples/csharp/*.sln

View File

@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{206011C7-15C3-48A5-9AA2-F43064AB8FC4}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Flow</RootNamespace>
<AssemblyName>Flow</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="Google.OrTools">
<HintPath>..\..\bin\Google.OrTools.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\csflow.cs">
<Link>csflow.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{7E74C275-F822-4817-A940-3EA93C50FD57}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IntegerProgramming</RootNamespace>
<AssemblyName>IntegerProgramming</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="Google.OrTools">
<HintPath>..\..\bin\Google.OrTools.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\csintegerprogramming.cs">
<Link>csintegerprogramming.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{4AC717C5-D784-44F4-9B14-C0FF067D23C3}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Knapsack</RootNamespace>
<AssemblyName>Knapsack</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="Google.OrTools">
<HintPath>..\..\bin\Google.OrTools.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\csknapsack.cs">
<Link>csknapsack.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -1,83 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RabbitsPheasants</RootNamespace>
<AssemblyName>RabbitsPheasants</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<ItemGroup>
<Reference Include="Google.OrTools">
<HintPath>..\..\bin\Google.OrTools.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\csrabbitspheasants.cs">
<Link>csrabbitspheasants.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -1,83 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{7084D1DB-2554-4FE3-833E-16BD0082D177}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Tsp</RootNamespace>
<AssemblyName>Tsp</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<ItemGroup>
<Reference Include="Google.OrTools">
<HintPath>..\..\bin\Google.OrTools.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\cstsp.cs">
<Link>cstsp.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>

View File

@@ -1,4 +1,4 @@
import logging, sys, inspect, os
import logging, sys, inspect
from os.path import dirname, abspath
from optparse import OptionParser
@@ -8,7 +8,7 @@ try:
from setuptools.command import easy_install
except ImportError:
raise ImportError("""setuptools is not installed for \"""" + sys.executable + """\"
Please follow this link for installing instructions :
Follow this link for installing instructions :
https://pypi.python.org/pypi/setuptools
make sure you use \"""" + sys.executable + """\" during the installation""")
raise SystemExit
@@ -17,22 +17,23 @@ from pkg_resources import parse_version
def notinstalled(modulename):
return modulename + """ could not be imported for \"""" + sys.executable + """\"
Please set PYTHONPATH to the output of this command \"make print-OR_TOOLS_PYTHONPATH\" before running the examples"""
def wrong_version(module, modulename, minimum_version, installed_version):
return """
You are using """ + modulename + """-""" + installed_version + """ : """ + inspect.getfile(module) + """
The minimum required version is : """ + minimum_version + """
Please run \"""" + str(sys.executable) + """ setup.py install --user\" to upgrade
If the problem persists, then """ + inspect.getfile(module) + """ is binding the newely installed version of """ + modulename + """
You should either remove it, or use PYTHONPATH to manage your sys.path. If you decide to use PYTHONPATH, do it to run the ortools examples as well.
Check https://docs.python.org/3/tutorial/modules.html#the-module-search-path from more information."""
Set PYTHONPATH to the output of this command \"make print-OR_TOOLS_PYTHONPATH\" before running the examples"""
def wrong_module(module_file, modulename):
return """
The python examples are not importing the """ + modulename + """ module from the sources because it's binded by \"""" + module_file + """\".
Please delete the binding module and rerun this script again.
"""
The python examples are not importing the """ + modulename + """ module from the sources.
Remove the site-package that contains \"""" + module_file + """\", either manually or by using pip, and rerun this script again."""
def log_error_and_exit(error_message):
logging.error(error_message)
raise SystemExit
# Returns the n_th parent of file
def n_dirname(n, file):
directory = file
for x in xrange(0, n):
directory = dirname(directory)
return directory
if __name__ == '__main__':
parser = OptionParser('Log level')
@@ -49,10 +50,10 @@ if __name__ == '__main__':
-1:logging.DEBUG,
}[int(options.log)]
logging.basicConfig(stream=sys.stdout, level=loglevel)
logging.basicConfig(format='[%(levelname)s] %(message)s',stream=sys.stdout, level=loglevel)
logging.info("Python path : " + sys.executable)
logging.info("Python version : " + sys.version + "\n")
logging.info("Python version : " + sys.version)
#try to import ortools
try:
@@ -61,25 +62,24 @@ if __name__ == '__main__':
logging.error (notinstalled("ortools"))
raise SystemExit
#try to import protobuf
try:
import google.protobuf
except ImportError:
logging.error (notinstalled("protobuf"))
raise SystemExit
#check if we're using ortools from the sources or it's binded by pypi's module
ortools_module_file = inspect.getfile(ortools)
ortools_module_path = dirname(dirname(dirname(ortools_module_file)))
ortools_project_path = dirname(dirname(dirname(abspath(inspect.getfile(inspect.currentframe())))))
ortools_module_path = n_dirname(2, ortools_module_file)
ortools_project_path = n_dirname(3, abspath(inspect.getfile(inspect.currentframe())))
try:
if(ortools_module_path == ortools_project_path):
logging.info("The python examples are importing the ortools module from the sources")
logging.info("Good! The python examples are importing the ortools module from the sources. The imported module is : " + inspect.getfile(ortools))
else:
raise Exception
except (Exception):
logging.error(wrong_module(ortools_module_file, "ortools"))
raise SystemExit
log_error_and_exit(wrong_module(ortools_module_file, "ortools"))
#try to import protobuf
try:
import google.protobuf
logging.info("Protobuf is imported from " + inspect.getfile(google.protobuf))
except ImportError:
log_error_and_exit(notinstalled("protobuf"))
# Check if python can load the libraries' modules
# this is useful when the library architecture is not compatbile with the python executable,

View File

@@ -34,8 +34,8 @@ def test_modulo2():
solver.ASSIGN_MIN_VALUE)
solver.NewSearch(db)
while solver.NextSolution():
print 'x = %d, y = %d, x %% y = %d, x div y = %d' % (
x.Value(), y.Value(), z.Value(), t.Value())
print ('x = %d, y = %d, x %% y = %d, x div y = %d' % (
x.Value(), y.Value(), z.Value(), t.Value()))
solver.EndSearch()
def test_limit():

View File

@@ -16,7 +16,6 @@ endif
endif
-$(DELREC) temp
create_dirs:
-$(DELREC) temp
$(MKDIR) temp
@@ -59,7 +58,6 @@ create_dirs:
$(MKDIR) temp$S$(INSTALL_DIR)$Sexamples$Sdata$Squasigroup_completion
$(MKDIR) temp$S$(INSTALL_DIR)$Sexamples$Sdata$Sdiscrete_tomography
#credits
$(COPY) LICENSE-2.0.txt temp$S$(INSTALL_DIR)
$(COPY) tools$SREADME.cc.java.csharp temp$S$(INSTALL_DIR)$SREADME
@@ -89,9 +87,6 @@ cc_archive: cc
$(COPY) src$Sgen$Ssat$S*.pb.h temp$S$(INSTALL_DIR)$Sinclude$Ssat
$(COPY) src$Sutil$S*.h temp$S$(INSTALL_DIR)$Sinclude$Sutil
ifeq "$(SYSTEM)" "win"
cd temp$S$(INSTALL_DIR) && ..$S..$Stools$Star.exe -C ..$S.. -c -v --exclude *svn* --exclude *roadef* examples$Sdata | ..$S..$Stools$Star.exe xvm
@@ -125,8 +120,9 @@ dotnet_archive: csharp
$(COPY) examples$Sdata$Squasigroup_completion$S* temp$S$(INSTALL_DIR)$Sexamples$Sdata$Squasigroup_completion
ifeq "$(SYSTEM)" "win"
$(COPY) examples$Scsharp$S*.sln temp$S$(INSTALL_DIR)$Sexamples
$(COPY) examples$Scsharp$SCsharp_examples.sln temp$S$(INSTALL_DIR)$Sexamples$Scsharp
$(COPY) examples$Scsharp$Ssolution$S*.csproj temp$S$(INSTALL_DIR)$Sexamples$Scsharp$Ssolution
$(COPY) examples$Scsharp$Ssolution$Sapp.config temp$S$(INSTALL_DIR)$Sexamples$Scsharp$Ssolution
else
$(COPY) lib$Slib$(CLR_DLL_NAME).so temp$S$(INSTALL_DIR)$Sbin
endif
@@ -246,5 +242,4 @@ ifeq "$(PLATFORM)" "MACOSX"
endif #ifeq "$(PLATFORM)" "MACOSX"
endif #ifeq "$(SYSTEM)" "win"
endif #ifeq "$(PYTHON3)" "true"
endif #ifeq "$(PYTHON3)" "true"

View File

@@ -72,10 +72,10 @@ else # REAL_MCS
csharp:
endif # REAL_MCS
else # MCS
csharp: csharportools csharpexe
csharp: csharpsolution csharportools csharpexe
endif # MCS
else # Windows
csharp: csharportools csharpexe
csharp: csharpsolution csharportools csharpexe
endif # Windows
warn_mcs:
@@ -110,6 +110,8 @@ clean_csharp:
-$(DEL) $(OBJ_DIR)$Sswig$S*csharp_wrap.$O
-$(DEL) $(BIN_DIR)$S*$(CLR_EXE_SUFFIX).exe
-$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$SCommonAssemblyAttributes.cs
-$(DEL) examples$Scsharp$SCsharp_examples.sln
-$(DEL) examples$Scsharp$Ssolution$S*.csproj
$(GEN_DIR)/com/google/ortools/CommonAssemblyAttributes.cs : $(GEN_DIR)/com/google/ortools/SvnVersion$(OR_TOOLS_VERSION).txt
ifeq ("$(SYSTEM)","win")
@@ -438,3 +440,39 @@ ifeq ("$(SYSTEM)","win")
cd temp\or-tools && nuget pack or-tools.nuspec
cd temp\or-tools && nuget push Google.OrTools-$(OR_TOOLS_VERSION).nupkg
endif
# csharpsolution
# create solution files for visual studio
ifeq ("$(SYSTEM)","win")
csharpsolution: examples/csharp/Csharp_examples.sln
else
csharpsolution:
endif
examples/csharp/solution/%.csproj: examples/csharp/%.cs tools/template.csproj
$(COPY) tools$Stemplate.csproj examples$Scsharp$Ssolution$S$(@F)
# Replace all "SOURCEFILE" instances with the C# example source file
# AND
# Replace all "EXECUTABLE" instances with the name of the executable. the first letter is capitalized.
$(SED) -i -e "s/SOURCEFILE/$*.cs/" -e "s/EXECUTABLE/\u$*/" examples$Scsharp$Ssolution$S$(@F)
all_csproj: $(patsubst examples/csharp/%.cs, examples/csharp/solution/%.csproj, $(wildcard examples/csharp/*.cs))
examples/csharp/Csharp_examples.sln: tools/template.sln all_csproj
-$(DEL) examples$Scsharp$SCsharp_examples.sln
$(COPY) tools$Stemplate.sln examples$Scsharp$SCsharp_examples.sln
#Add the *csproj files to the solution
$(SED) -i '/#End Projects/i $(join \
$(patsubst examples/csharp/solution/%.csproj, Project\(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\"\)=\"%\"$(COMMA) , $(wildcard examples/csharp/solution/*.csproj)), \
$(patsubst examples/csharp/solution/%.csproj, \"solution%.csproj\"$(COMMA)\"{}\"EndProject, $(wildcard examples/csharp/solution/*.csproj)) \
)' examples/csharp/Csharp_examples.sln
$(SED) -i -e "s/solution/solution\\/g" -e "s/EndProject/\r\nEndProject\r\n/g" -e "s/ Project/Project/g" examples$Scsharp$SCsharp_examples.sln

View File

@@ -137,3 +137,6 @@ STATIC_PROTOBUF_LNK = $(PROTOBUF_DIR)\\lib\\libprotobuf.lib
SYS_LNK=psapi.lib ws2_32.lib shlwapi.lib
DEPENDENCIES_LNK = $(STATIC_CBC_LNK) $(STATIC_CLP_LNK) $(STATIC_GLPK_LNK) $(STATIC_SCIP_LNK) $(STATIC_SLM_LNK) $(STATIC_GUROBI_LNK) $(STATIC_GFLAGS_LNK) $(STATIC_PROTOBUF_LNK)
OR_TOOLS_LD_FLAGS = $(ZLIB_LNK) $(SYS_LNK)
COMMA := ,
BACK_SLASH := \\

View File

@@ -7,35 +7,35 @@ try:
from setuptools.command import easy_install
except ImportError:
raise ImportError("""setuptools is not installed for \"""" + sys.executable + """\"
Please follow this link for installing instructions :
Follow this link for installing instructions :
https://pypi.python.org/pypi/setuptools
make sure you use \"""" + sys.executable + """\" during the installation""")
raise SystemExit
from pkg_resources import parse_version
current_ortools_version = "VVVV"
minimum_protobuf_version = "PROTOBUF_TAG"
required_ortools_version = "VVVV"
required_protobuf_version = "PROTOBUF_TAG"
def notinstalled(modulename):
return modulename + """ is not installed for \"""" + sys.executable + """\"
Please run \"""" + str(sys.executable) + """ setup.py install --user\""""
Run \"""" + sys.executable + """ setup.py install --user\" to install it"""
def wrong_version(module, modulename, minimum_version, installed_version):
return """
You are using """ + modulename + """-""" + installed_version + """ : """ + inspect.getfile(module) + """
The minimum required version is : """ + minimum_version + """
Please run \"""" + str(sys.executable) + """ setup.py install --user\" to upgrade
If the problem persists, then """ + inspect.getfile(module) + """ is binding the newely installed version of """ + modulename + """
You should either remove it, or use PYTHONPATH to manage your sys.path. If you decide to use PYTHONPATH, do it to run the ortools examples as well.
Check https://docs.python.org/3/tutorial/modules.html#the-module-search-path from more information."""
def wrong_version(module, modulename, required_version, installed_version):
return """You are using """ + modulename + """-""" + installed_version + """ : """ + inspect.getfile(module) + """, while the required version is : """ + required_version + """
Run \"""" + sys.executable + """ setup.py install --user\" to upgrade.
If the problem persists, remove the site-package that contains \"""" + inspect.getfile(module) + """\". You can do so either manually or by using pip."""
def log_error_and_exit(error_message):
logging.error(error_message)
raise SystemExit
if __name__ == '__main__':
parser = OptionParser('Log level')
parser.add_option('-l','--log',type='string',help='Available levels are CRITICAL (3), ERROR (2), WARNING (1), INFO (0), DEBUG (-1)',default='INFO')
options,args = parser.parse_args()
#Create the logger
try:
loglevel = getattr(logging,options.log.upper())
except AttributeError:
@@ -46,48 +46,45 @@ if __name__ == '__main__':
-1:logging.DEBUG,
}[int(options.log)]
logging.basicConfig(stream=sys.stdout, level=loglevel)
logging.info("Python path : " + sys.executable)
logging.info("Python version : " + sys.version + "\n")
logging.basicConfig(format='[%(levelname)s] %(message)s', stream=sys.stdout, level=loglevel)
if version_info[0] >= 3:
#Display Python Version and path
logging.info("Python path : " + sys.executable)
logging.info("Python version : " + sys.version)
#Choose the pypi package
if sys.version_info[0] >= 3:
ortools_name = "py3-ortools"
else:
ortools_name = "ortools"
#try to import ortools
try:
import ortools
except ImportError:
logging.error (notinstalled(ortools_name))
raise SystemExit
log_error_and_exit(notinstalled(ortools_name))
#try to import protobuf
try:
import google.protobuf
except ImportError:
logging.error (notinstalled("protobuf"))
raise SystemExit
log_error_and_exit(notinstalled("protobuf"))
#check ortools version
try:
if parse_version(current_ortools_version) > parse_version(ortools.__version__):
if required_ortools_version != ortools.__version__:
raise Exception
logging.info("or-tools version : " + ortools.__version__)
logging.info(inspect.getfile(ortools) + "\n")
logging.info("or-tools version : " + ortools.__version__ + "\n" + inspect.getfile(ortools))
except (AttributeError, Exception):
logging.error (wrong_version(ortools, ortools_name, current_ortools_version, ortools.__version__))
raise SystemExit
log_error_and_exit(wrong_version(ortools, ortools_name, required_ortools_version, ortools.__version__))
#check protobuf version
try:
if parse_version(minimum_protobuf_version) > parse_version(google.protobuf.__version__):
if required_protobuf_version != google.protobuf.__version__:
raise Exception
logging.info("protobuf version : " + google.protobuf.__version__)
logging.info(inspect.getfile(google.protobuf) + "\n")
logging.info("protobuf version : " + google.protobuf.__version__+ "\n" + inspect.getfile(google.protobuf) )
except (AttributeError, Exception):
logging.error(wrong_version(google.protobuf, "protobuf", minimum_protobuf_version, google.protobuf.__version__))
raise SystemExit
log_error_and_exit(wrong_version(google.protobuf, "protobuf", required_protobuf_version, google.protobuf.__version__))
# Check if python can load the libraries' modules
# this is useful when the library architecture is not compatbile with the python executable,
@@ -95,6 +92,4 @@ if __name__ == '__main__':
from ortools.constraint_solver import _pywrapcp
from ortools.linear_solver import _pywraplp
from ortools.algorithms import _pywrapknapsack_solver
from ortools.graph import _pywrapgraph
from ortools.graph import _pywrapgraph

View File

@@ -36,7 +36,7 @@ setup(
'ortools.linear_solver',],
ext_modules = [dummy_module],
install_requires = [
'protobuf >= PROTOBUF_TAG'],
'protobuf == PROTOBUF_TAG'],
package_data = {
'ortools.constraint_solver' : ['_pywrapcp.dll'],
'ortools.linear_solver' : ['_pywraplp.dll'],

View File

@@ -23,9 +23,9 @@ def read(fname):
return open(pjoin(dirname(__file__), fname)).read()
if version_info[0] >= 3:
install_requires = ["py3-ortools >= VVVV"]
install_requires = ["py3-ortools == VVVV"]
else:
install_requires = ["ortools >= VVVV"]
install_requires = ["ortools == VVVV"]
setup(
name='ortools_examples',

View File

@@ -1,80 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{FB4FF416-E290-4D00-AA03-3CF373AF1067}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LinearProgramming</RootNamespace>
<AssemblyName>LinearProgramming</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="Google.OrTools">
<HintPath>..\..\bin\Google.OrTools.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\cslinearprogramming.cs">
<Link>cslinearprogramming.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>EXECUTABLE</RootNamespace>
<AssemblyName>EXECUTABLE</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Google.OrTools">
<HintPath>..\..\..\bin\Google.OrTools.dll</HintPath>
</Reference>
<Reference Include="Google.Protobuf">
<HintPath>..\..\..\bin\Google.Protobuf.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\SOURCEFILE">
<Link>SOURCEFILE</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -1,72 +1,61 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RabbitsPheasants", "solution\RabbitsPheasants.csproj", "{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tsp", "solution\Tsp.csproj", "{7084D1DB-2554-4FE3-833E-16BD0082D177}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntegerProgramming", "solution\IntegerProgramming.csproj", "{7E74C275-F822-4817-A940-3EA93C50FD57}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinearProgramming", "solution\LinearProgramming.csproj", "{FB4FF416-E290-4D00-AA03-3CF373AF1067}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flow", "solution\Flow.csproj", "{206011C7-15C3-48A5-9AA2-F43064AB8FC4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knapsack", "solution\Knapsack.csproj", "{4AC717C5-D784-44F4-9B14-C0FF067D23C3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x64.ActiveCfg = Debug|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x64.Build.0 = Debug|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x86.ActiveCfg = Debug|x86
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x86.Build.0 = Debug|x86
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x64.ActiveCfg = Release|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x64.Build.0 = Release|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x86.ActiveCfg = Release|x86
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x86.Build.0 = Release|x86
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Debug|x64.ActiveCfg = Debug|x64
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Debug|x86.ActiveCfg = Debug|x86
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Release|x64.ActiveCfg = Release|x64
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Release|x86.ActiveCfg = Release|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x64.ActiveCfg = Debug|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x64.Build.0 = Debug|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x86.ActiveCfg = Debug|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x86.Build.0 = Debug|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x64.ActiveCfg = Release|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x64.Build.0 = Release|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x86.ActiveCfg = Release|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x86.Build.0 = Release|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x64.ActiveCfg = Debug|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x64.Build.0 = Debug|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x86.ActiveCfg = Debug|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x86.Build.0 = Debug|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x64.ActiveCfg = Release|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x64.Build.0 = Release|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x86.ActiveCfg = Release|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x86.Build.0 = Release|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x64.ActiveCfg = Debug|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x64.Build.0 = Debug|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x86.ActiveCfg = Debug|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x86.Build.0 = Debug|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x64.ActiveCfg = Release|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x64.Build.0 = Release|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x86.ActiveCfg = Release|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x86.Build.0 = Release|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x64.ActiveCfg = Debug|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x64.Build.0 = Debug|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x86.ActiveCfg = Debug|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x86.Build.0 = Debug|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x64.ActiveCfg = Release|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x64.Build.0 = Release|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x86.ActiveCfg = Release|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio
#Projects
#End Projects
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x64.ActiveCfg = Debug|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x64.Build.0 = Debug|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x86.ActiveCfg = Debug|x86
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Debug|x86.Build.0 = Debug|x86
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x64.ActiveCfg = Release|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x64.Build.0 = Release|x64
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x86.ActiveCfg = Release|x86
{E7AFEF5F-7580-45B0-A8F1-8B63CDF73A51}.Release|x86.Build.0 = Release|x86
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Debug|x64.ActiveCfg = Debug|x64
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Debug|x86.ActiveCfg = Debug|x86
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Release|x64.ActiveCfg = Release|x64
{7084D1DB-2554-4FE3-833E-16BD0082D177}.Release|x86.ActiveCfg = Release|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x64.ActiveCfg = Debug|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x64.Build.0 = Debug|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x86.ActiveCfg = Debug|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Debug|x86.Build.0 = Debug|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x64.ActiveCfg = Release|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x64.Build.0 = Release|x64
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x86.ActiveCfg = Release|x86
{7E74C275-F822-4817-A940-3EA93C50FD57}.Release|x86.Build.0 = Release|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x64.ActiveCfg = Debug|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x64.Build.0 = Debug|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x86.ActiveCfg = Debug|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Debug|x86.Build.0 = Debug|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x64.ActiveCfg = Release|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x64.Build.0 = Release|x64
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x86.ActiveCfg = Release|x86
{FB4FF416-E290-4D00-AA03-3CF373AF1067}.Release|x86.Build.0 = Release|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x64.ActiveCfg = Debug|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x64.Build.0 = Debug|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x86.ActiveCfg = Debug|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Debug|x86.Build.0 = Debug|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x64.ActiveCfg = Release|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x64.Build.0 = Release|x64
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x86.ActiveCfg = Release|x86
{206011C7-15C3-48A5-9AA2-F43064AB8FC4}.Release|x86.Build.0 = Release|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x64.ActiveCfg = Debug|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x64.Build.0 = Debug|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x86.ActiveCfg = Debug|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Debug|x86.Build.0 = Debug|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x64.ActiveCfg = Release|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x64.Build.0 = Release|x64
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x86.ActiveCfg = Release|x86
{4AC717C5-D784-44F4-9B14-C0FF067D23C3}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal