<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section
      name="MsfConfig"
      type="Microsoft.SolverFoundation.Services.MsfConfigSection, Microsoft.Solver.Foundation"
      allowLocation="true"
      allowDefinition="Everywhere"
      allowExeDefinition="MachineToApplication"
      restartOnExternalChanges="true"
      requirePermission="true" />
  </configSections>
  <MsfConfig>
    <MsfPluginSolvers>
      <MsfPluginSolver name="Microsoft Z3 MILP Solver"
                       capability="MILP"
                       assembly="SolverFoundation.Plugin.Z3.dll"
                       solverclass="Microsoft.SolverFoundation.Plugin.Z3.Z3MILPSolver"
                       directiveclass="Microsoft.SolverFoundation.Plugin.Z3.Z3MILPDirective"
                       parameterclass="Microsoft.SolverFoundation.Plugin.Z3.Z3MILPParams"/>
      <MsfPluginSolver name="Microsoft Z3 MILP Solver"
                       capability="LP"
                       assembly="SolverFoundation.Plugin.Z3.dll"
                       solverclass="Microsoft.SolverFoundation.Plugin.Z3.Z3MILPSolver"
                       directiveclass="Microsoft.SolverFoundation.Plugin.Z3.Z3MILPDirective"
                       parameterclass="Microsoft.SolverFoundation.Plugin.Z3.Z3MILPParams"/>

      <MsfPluginSolver name="Microsoft Z3 Term Solver"
                       capability="MILP"
                       assembly="SolverFoundation.Plugin.Z3.dll"
                       interface="Microsoft.SolverFoundation.Services.ITermSolver"
                       solverclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermSolver"
                       directiveclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermDirective"
                       parameterclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermParams"/>
      <MsfPluginSolver name="Microsoft Z3 Term Solver"
                       capability="LP"
                       assembly="SolverFoundation.Plugin.Z3.dll"
                       interface="Microsoft.SolverFoundation.Services.ITermSolver"
                       solverclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermSolver"
                       directiveclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermDirective"
                       parameterclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermParams"/>
      <MsfPluginSolver name="Microsoft Z3 Term Solver"
                       capability="MINLP"
                       assembly="SolverFoundation.Plugin.Z3.dll"
                       interface="Microsoft.SolverFoundation.Services.ITermSolver"
                       solverclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermSolver"
                       directiveclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermDirective"
                       parameterclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermParams"/>
      <MsfPluginSolver name="Microsoft Z3 Term Solver"
                       capability="NLP"
                       assembly="SolverFoundation.Plugin.Z3.dll"
                       interface="Microsoft.SolverFoundation.Services.ITermSolver"
                       solverclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermSolver"
                       directiveclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermDirective"
                       parameterclass="Microsoft.SolverFoundation.Plugin.Z3.Z3TermParams"/>
    </MsfPluginSolvers>
  </MsfConfig>
</configuration>
