Merge branch 'pairing2' into webview2

This commit is contained in:
Claude Brisson
2023-12-21 13:09:10 +01:00
16 changed files with 9744 additions and 1319 deletions

View File

@@ -116,8 +116,16 @@ object OpenGotha {
else -> throw Error("missing byoyomi type")
},
pairing = when (handParams.hdCeiling) {
0 -> Swiss(pairingParams = pairgothPairingParams, placementParams = pairgothPlacementParams)
else -> MacMahon(pairingParams = pairgothPairingParams, placementParams = pairgothPlacementParams)
0 -> Swiss(
pairingParams = pairgothPairingParams,
placementParams = pairgothPlacementParams
)
else -> MacMahon(
pairingParams = pairgothPairingParams,
placementParams = pairgothPlacementParams,
mmFloor = Pairable.parseRank(genParams.genMMFloor),
mmBar = Pairable.parseRank(genParams.genMMBar)
)
},
rounds = genParams.numberOfRounds
)
@@ -241,7 +249,15 @@ object OpenGotha {
TimeSystem.TimeSystemType.STANDARD -> "STDBYOYOMI"
TimeSystem.TimeSystemType.CANADIAN -> "CANBYOYOMI"
TimeSystem.TimeSystemType.FISCHER -> "FISCHER"
} }" director="" endDate="${tournament.endDate}" fischerTime="${tournament.timeSystem.increment}" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="9D" genMMFloor="30K" genMMS2ValueAbsent="1" genMMS2ValueBye="2" genMMZero="30K" genNBW2ValueAbsent="0" genNBW2ValueBye="2" genRoundDownNBWMMS="true" komi="${tournament.komi}" location="${tournament.location}" name="${tournament.name}" nbMovesCanTime="${tournament.timeSystem.stones}" numberOfCategories="1" numberOfRounds="${tournament.rounds}" shortName="${tournament.shortName}" size="${tournament.gobanSize}" stdByoYomiTime="${tournament.timeSystem.byoyomi}"/>
} }" director="" endDate="${tournament.endDate}" fischerTime="${tournament.timeSystem.increment}" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="${
displayRank(
if (tournament.pairing is MacMahon) tournament.pairing.mmBar else 8
).uppercase(Locale.ROOT)
}" genMMFloor="${
displayRank(
if (tournament.pairing is MacMahon) tournament.pairing.mmFloor else -30
).uppercase(Locale.ROOT)
}" genMMS2ValueAbsent="1" genMMS2ValueBye="2" genMMZero="30K" genNBW2ValueAbsent="0" genNBW2ValueBye="2" genRoundDownNBWMMS="true" komi="${tournament.komi}" location="${tournament.location}" name="${tournament.name}" nbMovesCanTime="${tournament.timeSystem.stones}" numberOfCategories="1" numberOfRounds="${tournament.rounds}" shortName="${tournament.shortName}" size="${tournament.gobanSize}" stdByoYomiTime="${tournament.timeSystem.byoyomi}"/>
<HandicapParameterSet hdBasedOnMMS="${tournament.pairing.pairingParams.handicap.useMMS}" hdCeiling="${tournament.pairing.pairingParams.handicap.ceiling}" hdCorrection="${tournament.pairing.pairingParams.handicap.correction}" hdNoHdRankThreshold="${displayRank(tournament.pairing.pairingParams.handicap.rankThreshold)}"/>
<PlacementParameterSet>
<PlacementCriteria>

View File

@@ -10,7 +10,7 @@ import java.util.*
sealed class Pairable(val id: ID, val name: String, open val rating: Int, open val rank: Int) {
companion object {
val MIN_RANK: Int = -30 // 30k
val MAX_RANK: Int = 20
val MAX_RANK: Int = 8 // 9D
}
abstract fun toJson(): Json.Object
abstract val club: String?

View File

@@ -180,11 +180,13 @@ class MacMahon(
),
placementParams: PlacementParams = PlacementParams(
Criterion.NBW, Criterion.SOSW, Criterion.SOSOSW
)
),
var mmFloor: Int = -20, // 20k
var mmBar: Int = 0 // 1D
): Pairing(MAC_MAHON, pairingParams, placementParams) {
companion object {}
override fun pair(tournament: Tournament<*>, round: Int, pairables: List<Pairable>): List<Game> {
return MacMahonSolver(round, tournament.historyBefore(round), pairables, pairingParams, placementParams).pair()
return MacMahonSolver(round, tournament.historyBefore(round), pairables, pairingParams, placementParams, mmFloor, mmBar).pair()
}
}
@@ -305,12 +307,15 @@ fun Pairing.Companion.fromJson(json: Json.Object): Pairing {
val placementParams = json.getArray("placement")?.let { PlacementParams.fromJson(it) } ?: defaultParams.placementParams
return when (type) {
SWISS -> Swiss(pairingParams, placementParams)
MAC_MAHON -> MacMahon(pairingParams, placementParams)
MAC_MAHON -> MacMahon(pairingParams, placementParams).also { mm ->
mm.mmFloor = json.getInt("mmFloor") ?: -20
mm.mmBar = json.getInt("mmBar") ?: 0
}
ROUND_ROBIN -> RoundRobin(pairingParams, placementParams)
}
}
fun Pairing.toJson() = Json.Object(
fun Pairing.toJson(): Json.Object = Json.MutableObject(
"type" to type.name,
"base" to pairingParams.base.toJson(),
"main" to pairingParams.main.toJson(),
@@ -318,4 +323,9 @@ fun Pairing.toJson() = Json.Object(
"geo" to pairingParams.geo.toJson(),
"handicap" to pairingParams.handicap.toJson(),
"placement" to placementParams.toJson()
)
).also { ret ->
if (this is MacMahon) {
ret["mmFloor"] = mmFloor
ret["mmBar"] = mmBar
}
}

View File

@@ -28,7 +28,7 @@ abstract class BasePairingHelper(
}
// pairables sorted for pairing purposes
protected val nameSortedPairables by lazy {
pairables.sortedWith(::nameSort)
pairables.sortedWith(::nameSort).toMutableList()
}
protected val pairablesMap by lazy {

View File

@@ -29,6 +29,7 @@ sealed class BaseSolver(
companion object {
val rand = Random(/* seed from properties - TODO */)
val DEBUG_EXPORT_WEIGHT = true
var byePlayers: MutableList<Pairable> = mutableListOf()
}
open fun openGothaWeight(p1: Pairable, p2: Pairable) =
@@ -59,13 +60,34 @@ sealed class BaseSolver(
// println("placement criteria" + placement.criteria.toString())
}
var chosenByePlayer: Pairable = ByePlayer
// Choose bye player and remove from pairables
if (ByePlayer in nameSortedPairables){
nameSortedPairables.remove(ByePlayer)
var minWeight = 1000.0*round + (Pairable.MAX_RANK - Pairable.MIN_RANK) + 1;
var weightForBye : Double
var byePlayerIndex = 0
for (p in nameSortedPairables){
weightForBye = p.rank + 2*p.main
if (p in byePlayers) weightForBye += 1000
if (weightForBye <= minWeight){
minWeight = weightForBye
chosenByePlayer = p
}
println("choose Bye: " + p.nameSeed() + " " + weightForBye)
}
println("Bye player : " + chosenByePlayer.nameSeed())
byePlayers.add(chosenByePlayer)
nameSortedPairables.remove(chosenByePlayer)
}
for (i in nameSortedPairables.indices) {
// println(nameSortedPairables[i].nameSeed() + " id="+nameSortedPairables[i].id.toString()+" clasmt="+nameSortedPairables[i].placeInGroup.toString())
for (j in i + 1 until pairables.size) {
for (j in i + 1 until nameSortedPairables.size) {
val p = nameSortedPairables[i]
val q = nameSortedPairables[j]
weight(p, q).let { if (it != Double.NaN) builder.addEdge(p, q, it) }
weight(q, p).let { if (it != Double.NaN) builder.addEdge(q, p, it) }
weight(p, q).let { if (it != Double.NaN) builder.addEdge(p, q, it/1e6) }
weight(q, p).let { if (it != Double.NaN) builder.addEdge(q, p, it/1e6) }
if (DEBUG_EXPORT_WEIGHT)
{
File(WEIGHTS_FILE).appendText("Player1Name="+p.nameSeed()+"\n")
@@ -80,6 +102,7 @@ sealed class BaseSolver(
File(WEIGHTS_FILE).appendText("secHandiCost="+dec.format(pairing.handicap.handicap(p, q))+"\n")
File(WEIGHTS_FILE).appendText("secGeoCost="+dec.format(pairing.geo.apply(p, q))+"\n")
File(WEIGHTS_FILE).appendText("totalCost="+dec.format(openGothaWeight(p,q))+"\n")
//File(WEIGHTS_FILE).appendText("ByeCost="+dec.format(pairing.base.applyByeWeight(p,q))+"\n")
}
}
@@ -92,10 +115,20 @@ sealed class BaseSolver(
listOf(graph.getEdgeSource(it), graph.getEdgeTarget(it))
}.sortedWith(compareBy({ min(it[0].place, it[1].place) }))
val result = sorted.flatMap { games(white = it[0], black = it[1]) }
/* println(sorted.size)
if (chosenByePlayer != ByePlayer) sorted.add(listOf(chosenByePlayer, ByePlayer))
println(sorted.size)*/
var result = sorted.flatMap { games(white = it[0], black = it[1]) }
// add game for ByePlayer
if (chosenByePlayer != ByePlayer) result += Game(id = Store.nextGameId, white = ByePlayer.id, black = chosenByePlayer.id, result = Game.Result.fromSymbol('b'))
if (DEBUG_EXPORT_WEIGHT) {
println("DUDD debug")
println(nameSortedPairables[2].nameSeed() + " " + nameSortedPairables[6].nameSeed())
pairing.main.applyDUDD(nameSortedPairables[2],nameSortedPairables[6], debug=true)
var sumOfWeights = 0.0
println("name place ID colorBal group DUDD vs name place ID colorBal group DUDD")
for (it in sorted) {
println(it[0].nameSeed() + " " + it[0].place.toString()
+ " " + it[0].id.toString()
@@ -165,8 +198,9 @@ sealed class BaseSolver(
val actualPlayer = if (p1.id == ByePlayer.id) p2 else p1
// TODO maybe use a different formula than opengotha
val x = (actualPlayer.rank - Pairable.MIN_RANK + actualPlayer.main) / (Pairable.MAX_RANK - Pairable.MIN_RANK + mainLimits.second)
concavityFunction(x, BaseCritParams.MAX_BYE_WEIGHT)
BaseCritParams.MAX_BYE_WEIGHT - (actualPlayer.rank + 2*actualPlayer.main)
//concavityFunction(x, BaseCritParams.MAX_BYE_WEIGHT)
//BaseCritParams.MAX_BYE_WEIGHT - (actualPlayer.rank + 2*actualPlayer.main)
BaseCritParams.MAX_BYE_WEIGHT*(1 - x)
} else {
0.0
}
@@ -202,7 +236,6 @@ sealed class BaseSolver(
open fun MainCritParams.minimizeScoreDifference(p1: Pairable, p2: Pairable): Double {
var score = 0.0
val scoreRange: Int = groupsCount
// TODO check category equality if category are used in SwissCat
if (scoreRange != 0){
val x = abs(p1.group - p2.group).toDouble() / scoreRange.toDouble()
score = concavityFunction(x, scoreWeight)
@@ -211,7 +244,7 @@ sealed class BaseSolver(
return score
}
open fun MainCritParams.applyDUDD(p1: Pairable, p2: Pairable): Double {
open fun MainCritParams.applyDUDD(p1: Pairable, p2: Pairable, debug: Boolean =false): Double {
var score = 0.0
// TODO apply Drawn-Up/Drawn-Down if needed
@@ -256,12 +289,16 @@ sealed class BaseSolver(
if (scenario != 0 && p2_DD > 0 && p2_DU < p2_DD && p2.group > p1.group) {
scenario++
}
val duddWeight: Double = pairing.main.drawUpDownWeight/5.0
val upperSP = if (p1.group < p2.group) p1 else p2
val lowerSP = if (p1.group < p2.group) p2 else p1
val upperSP = if (p1.group < p2.group) p2 else p1
val lowerSP = if (p1.group < p2.group) p1 else p2
val uSPgroupSize = upperSP.placeInGroup.second
val lSPgroupSize = lowerSP.placeInGroup.second
if (pairing.main.drawUpDownUpperMode === MainCritParams.DrawUpDown.TOP) {
score += duddWeight / 2 * (uSPgroupSize - 1 - upperSP.placeInGroup.first) / uSPgroupSize
} else if (pairing.main.drawUpDownUpperMode === MainCritParams.DrawUpDown.MIDDLE) {
@@ -287,8 +324,20 @@ sealed class BaseSolver(
} else if (scenario == 4) {
score += 4 * duddWeight
}
if(debug){
println("Names "+upperSP.nameSeed()+" "+lowerSP.nameSeed())
println("DUDD scenario, GroupDiff = "+scenario.toString()+" "+(upperSP.group-lowerSP.group).toString())
println("DUDD Upper/Lower modes = "+pairing.main.drawUpDownUpperMode.toString()+" "+pairing.main.drawUpDownLowerMode.toString())
println("u/lSPgroupsize = "+uSPgroupSize.toString()+" "+lSPgroupSize.toString())
println("u/lSPplaceingroup = "+upperSP.placeInGroup.first.toString()+" "+lowerSP.placeInGroup.first.toString())
println("score = " + score.toString())
}
}
// TODO adapt to Swiss with categories
/*// But, if players come from different categories, decrease score(added in 3.11)
val catGap: Int = Math.abs(p1.category(gps) - p2.category(gps))

View File

@@ -1,29 +1,43 @@
package org.jeudego.pairgoth.pairing.solver
import org.jeudego.pairgoth.model.*
import kotlin.math.max
import kotlin.math.min
class MacMahonSolver(round: Int,
history: List<List<Game>>,
pairables: List<Pairable>,
pairingParams: PairingParams,
placementParams: PlacementParams):
placementParams: PlacementParams,
private val mmFloor: Int, private val mmBar: Int):
BaseSolver(round, history, pairables, pairingParams, placementParams) {
override val scores: Map<ID, Double> by lazy {
historyHelper.wins.mapValues {
pairablesMap[it.key]!!.let { pairable ->
pairable.mmBase + pairable.nbW
pairablesMap.mapValues { it.value.let {
pairable -> pairable.mmBase + pairable.nbW // TODO take tournament parameter into account
} }
}
}
}
val Pairable.mmBase: Double get() = rank + 30.0 // TODO use params
val Pairable.mmBase: Double get() = min(max(rank, mmFloor), mmBar) + mmsZero
val Pairable.mms: Double get() = scores[id] ?: 0.0
// CB TODO - configurable criteria
override val mainLimits get() = Pair(0.0, 100.0) // TODO
val mainScoreMin = mmFloor + PLA_SMMS_SCORE_MIN - Pairable.MIN_RANK
val mainScoreMax = mmBar + PLA_SMMS_SCORE_MAX + (round-1) - Pairable.MIN_RANK // round number starts at 1
override val mainLimits get() = Pair(mainScoreMin.toDouble(), mainScoreMax.toDouble())
override fun evalCriterion(pairable: Pairable, criterion: Criterion) = when (criterion) {
Criterion.MMS -> pairable.mms
Criterion.SOSM -> pairable.sos
Criterion.SOSOSM -> pairable.sosos
Criterion.SOSMM1 -> pairable.sosm1
Criterion.SOSMM2 -> pairable.sosm2
else -> super.evalCriterion(pairable, criterion)
}
companion object {
const val mmsZero = 30.0
const val PLA_SMMS_SCORE_MAX = 2 // TODO move this into placement criteria
const val PLA_SMMS_SCORE_MIN = -1
}
}

View File

@@ -246,6 +246,11 @@ class PairingTests: TestBase() {
var firstGameID: Int
var playersList = mutableListOf<Long>()
var forcedPairingList = mutableListOf<Int>(1)
var forcedPairing = mutableListOf<Json>()
var forcedGames: Json.Array
var game: Json
for (i in 0..34){
playersList.add(players.getJson(i)!!.asObject()["id"] as Long)
}
@@ -253,12 +258,97 @@ class PairingTests: TestBase() {
val byePlayerList = mutableListOf<Long>(354, 359, 356, 357, 345, 339, 368, 344, 349, 341)
for (round in 1..7) {
games = TestAPI.post("/api/tour/$id/pair/$round", Json.Array(playersList.filter{it != byePlayerList[round-1]})).asArray()
//games = TestAPI.post("/api/tour/$id/pair/$round", Json.Array(playersList.filter{it != byePlayerList[round-1]})).asArray()
if (round in forcedPairingList){
// games must be created and then modified by PUT
games = TestAPI.post("/api/tour/$id/pair/$round", Json.Array("all")).asArray()
forcedPairing = mutableListOf<Json>()
forcedGames = Json.parse(pairingsR1)!!.asArray()
for (j in 0..forcedGames.size-1) {
game = forcedGames.getJson(j)!!.asObject()
TestAPI.put("/api/tour/$id/pair/$round", game)
}
games = TestAPI.get("/api/tour/$id/res/$round").asArray()
}
else {
//games = TestAPI.post("/api/tour/$id/pair/$round", Json.Array(playersList.filter{it != byePlayerList[round-1]})).asArray()
games = TestAPI.post("/api/tour/$id/pair/$round", Json.Array("all")).asArray()
logger.info("games for round $round: {}", games.toString())
assertTrue(compare_weights("weights.txt", "opengotha/notsosimpleswiss_weights_R$round.txt"), "Not matching opengotha weights for round $round")
assertTrue(compare_games(games, Json.parse(pairings[round - 1])!!.asArray()),"pairings for round $round differ")
logger.info("Pairings for round $round match OpenGotha")
}
logger.info("games for round $round: {}", games.toString())
firstGameID = (games.getJson(0)!!.asObject()["id"] as Long?)!!.toInt()
for (gameID in firstGameID..firstGameID + 16) {
resp = TestAPI.put("/api/tour/$id/res/$round", Json.parse("""{"id":$gameID,"result":"b"}""")).asObject()
assertTrue(resp.getBoolean("success") == true, "expecting success")
}
logger.info("Results succesfully entered for round $round")
}
}
@Test
fun `testSimpleMM`() {
/*
// read tournament with pairing
var fileOG = getTestFile("opengotha/pairings/simplemm.xml")
logger.info("read from file $fileOG")
val resourceOG = fileOG.readText(StandardCharsets.UTF_8)
val respOG = TestAPI.post("/api/tour", resourceOG)
val idOG = respOG.asObject().getInt("id")
val tournamentOG = TestAPI.get("/api/tour/$idOG").asObject()
logger.info(tournamentOG.toString().slice(0..50) + "...")
val playersOG = TestAPI.get("/api/tour/$idOG/part").asArray()
//logger.info(players.toString().slice(0..50) + "...")
//logger.info(playersOG.toString())
val pairingsOG = mutableListOf<String>()
for (round in 1..tournamentOG.getInt("rounds")!!) {
val games = TestAPI.get("/api/tour/$idOG/res/$round").asArray()
logger.info("games for round $round: {}", games.toString())
pairingsOG.add(games.toString())
}*/
val pairingsR1 = """[{"id":1,"w":3,"b":5,"h":0,"r":"w","dd":0},{"id":2,"w":12,"b":10,"h":0,"r":"b","dd":0},{"id":3,"w":9,"b":14,"h":0,"r":"b","dd":0},{"id":4,"w":11,"b":6,"h":0,"r":"b","dd":0},{"id":5,"w":13,"b":15,"h":0,"r":"b","dd":0},{"id":6,"w":2,"b":16,"h":1,"r":"w","dd":0},{"id":7,"w":8,"b":4,"h":5,"r":"b","dd":0},{"id":8,"w":7,"b":1,"h":2,"r":"w","dd":0}]"""
val pairingsR2 = """[{"id":9,"w":14,"b":3,"h":0,"r":"b","dd":0},{"id":10,"w":10,"b":5,"h":0,"r":"b","dd":0},{"id":11,"w":6,"b":9,"h":0,"r":"b","dd":0},{"id":12,"w":15,"b":12,"h":0,"r":"w","dd":0},{"id":13,"w":2,"b":11,"h":0,"r":"w","dd":0},{"id":14,"w":8,"b":13,"h":0,"r":"b","dd":0},{"id":15,"w":7,"b":4,"h":0,"r":"b","dd":0},{"id":16,"w":16,"b":1,"h":7,"r":"b","dd":0}]"""
val pairingsR3 = """[{"id":17,"w":5,"b":14,"h":0,"r":"b","dd":0},{"id":18,"w":10,"b":9,"h":0,"r":"w","dd":0},{"id":19,"w":15,"b":3,"h":0,"r":"w","dd":0},{"id":20,"w":12,"b":2,"h":0,"r":"b","dd":0},{"id":21,"w":6,"b":13,"h":0,"r":"b","dd":0},{"id":22,"w":11,"b":8,"h":0,"r":"w","dd":0},{"id":23,"w":16,"b":7,"h":3,"r":"w","dd":0},{"id":24,"w":4,"b":1,"h":3,"r":"b","dd":0}]"""
val pairingsR4 = """[{"id":25,"w":3,"b":10,"h":0,"r":"w","dd":0},{"id":26,"w":14,"b":15,"h":0,"r":"b","dd":0},{"id":27,"w":5,"b":2,"h":0,"r":"w","dd":0},{"id":28,"w":12,"b":6,"h":0,"r":"w","dd":0},{"id":29,"w":9,"b":11,"h":0,"r":"w","dd":0},{"id":30,"w":16,"b":4,"h":3,"r":"b","dd":0},{"id":31,"w":13,"b":7,"h":5,"r":"w","dd":0},{"id":32,"w":8,"b":1,"h":6,"r":"w","dd":0}]"""
val pairingsR5 = """[{"id":33,"w":15,"b":5,"h":0,"r":"w","dd":0},{"id":34,"w":14,"b":10,"h":0,"r":"b","dd":0},{"id":35,"w":9,"b":3,"h":0,"r":"w","dd":0},{"id":36,"w":13,"b":2,"h":0,"r":"w","dd":0},{"id":37,"w":16,"b":12,"h":0,"r":"b","dd":0},{"id":38,"w":11,"b":4,"h":3,"r":"b","dd":0},{"id":39,"w":8,"b":7,"h":5,"r":"w","dd":0},{"id":40,"w":6,"b":1,"h":7,"r":"b","dd":0}]"""
val pairings = mutableListOf<String>()
pairings.add(pairingsR1)
pairings.add(pairingsR2)
pairings.add(pairingsR3)
pairings.add(pairingsR4)
pairings.add(pairingsR5)
// read tournament without pairings
var file = getTestFile("opengotha/pairings/simplemm_nopairings.xml")
logger.info("read from file $file")
val resource = file.readText(StandardCharsets.UTF_8)
var resp = TestAPI.post("/api/tour", resource)
val id = resp.asObject().getInt("id")
assertNotNull(id)
val tournament = TestAPI.get("/api/tour/$id").asObject()
logger.info(tournament.toString().slice(0..50) + "...")
val players = TestAPI.get("/api/tour/$id/part").asArray()
logger.info(players.toString().slice(0..50) + "...")
var games: Json.Array
var firstGameID: Int
for (round in 1..5) {
games = TestAPI.post("/api/tour/$id/pair/$round", Json.Array("all")).asArray()
logger.info("games for round $round: {}", games.toString())
assertTrue(compare_weights("weights.txt", "opengotha/simplemm/simplemm_weights_R$round.txt"), "Not matching opengotha weights for round $round")
assertTrue(compare_games(games, Json.parse(pairings[round - 1])!!.asArray()),"pairings for round $round differ")
logger.info("Pairings for round $round match OpenGotha")
firstGameID = (games.getJson(0)!!.asObject()["id"] as Long?)!!.toInt()
for (gameID in firstGameID..firstGameID + 15) {
@@ -267,7 +357,6 @@ class PairingTests: TestBase() {
}
logger.info("Results succesfully entered for round $round")
}
}
}

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tournament dataVersion="201" externalIPAddress="77.128.107.78" gothaMinorVersion="5" gothaVersion="348" saveDT="20191119110542">
<Players>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="2200056" ffgLicenceStatus="L" firstName="Clé" grade="10K" name="Robin" participating="11111111111111111111" rank="10K" rating="1129" ratingOrigin="FFG : -921" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="2100063" ffgLicenceStatus="L" firstName="Baptiste" grade="1D" name="Fiorina" participating="11111111111111111111" rank="1D" rating="2106" ratingOrigin="FFG : 56" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="0280000" ffgLicenceStatus="L" firstName="Motoki" grade="7D" name="Noguchi" participating="11111111111111111111" rank="7D" rating="2666" ratingOrigin="FFG : 616" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="1000392" ffgLicenceStatus="L" firstName="Alexandra" grade="7K" name="Goloubkov" participating="11111111111111111111" rank="7K" rating="1389" ratingOrigin="FFG : -661" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="00St" country="FR" egfPin="" ffgLicence="1600310" ffgLicenceStatus="L" firstName="Robin" grade="4D" name="Bonjean" participating="11111111111111111111" rank="4D" rating="2357" ratingOrigin="FFG : 307" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1000005" ffgLicenceStatus="L" firstName="Quentin" grade="2D" name="Rendu" participating="11111111111111111111" rank="2D" rating="2155" ratingOrigin="FFG : 105" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1700003" ffgLicenceStatus="L" firstName="Morgane" grade="7K" name="Marechal" participating="11111111111111111111" rank="7K" rating="1388" ratingOrigin="FFG : -662" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="7904900" ffgLicenceStatus="L" firstName="Dominique" grade="1K" name="Cornuejols" participating="11111111111111111111" rank="1K" rating="2035" ratingOrigin="FFG : -15" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="49An" country="FR" egfPin="" ffgLicence="1800102" ffgLicenceStatus="L" firstName="Theo" grade="3D" name="Lemoine" participating="11111111111111111111" rank="3D" rating="2317" ratingOrigin="FFG : 267" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="9791002" ffgLicenceStatus="L" firstName="Toru" grade="3D" name="Imamura-Cornuejols" participating="11111111111111111111" rank="3D" rating="2343" ratingOrigin="FFG : 293" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="2000113" ffgLicenceStatus="L" firstName="Warren" grade="2D" name="Aim" participating="11111111111111111111" rank="2D" rating="2231" ratingOrigin="FFG : 181" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1300045" ffgLicenceStatus="L" firstName="Loïc" grade="3D" name="Lefebvre" participating="11111111111111111111" rank="3D" rating="2281" ratingOrigin="FFG : 231" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75Ju" country="FR" egfPin="" ffgLicence="0800078" ffgLicenceStatus="L" firstName="Rémi" grade="1K" name="Cornaggia" participating="11111111111111111111" rank="1K" rating="1995" ratingOrigin="FFG : -55" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="0900438" ffgLicenceStatus="L" firstName="Denis" grade="6D" name="Karadaban" participating="11111111111111111111" rank="6D" rating="2576" ratingOrigin="FFG : 526" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1800061" ffgLicenceStatus="L" firstName="Camille" grade="2D" name="Leveque" participating="11111111111111111111" rank="2D" rating="2221" ratingOrigin="FFG : 171" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="37To" country="FR" egfPin="" ffgLicence="2100064" ffgLicenceStatus="L" firstName="Romain" grade="2K" name="Durand" participating="11111111111111111111" rank="2K" rating="1851" ratingOrigin="FFG : -199" registeringStatus="FIN" smmsCorrection="0"/>
</Players>
<Games>
<Game blackPlayer="BONJEANROBIN" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="1" tableNumber="1" whitePlayer="NOGUCHIMOTOKI"/>
<Game blackPlayer="IMAMURA-CORNUEJOLSTORU" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="1" tableNumber="2" whitePlayer="LEFEBVRELOÏC"/>
<Game blackPlayer="KARADABANDENIS" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="1" tableNumber="3" whitePlayer="LEMOINETHEO"/>
<Game blackPlayer="RENDUQUENTIN" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="1" tableNumber="4" whitePlayer="AIMWARREN"/>
<Game blackPlayer="LEVEQUECAMILLE" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="1" tableNumber="5" whitePlayer="CORNAGGIARÉMI"/>
<Game blackPlayer="DURANDROMAIN" handicap="1" knownColor="true" result="RESULT_WHITEWINS" roundNumber="1" tableNumber="6" whitePlayer="FIORINABAPTISTE"/>
<Game blackPlayer="GOLOUBKOVALEXANDRA" handicap="5" knownColor="true" result="RESULT_BLACKWINS" roundNumber="1" tableNumber="7" whitePlayer="CORNUEJOLSDOMINIQUE"/>
<Game blackPlayer="ROBINCLÉ" handicap="2" knownColor="true" result="RESULT_WHITEWINS" roundNumber="1" tableNumber="8" whitePlayer="MARECHALMORGANE"/>
<Game blackPlayer="KARADABANDENIS" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="3" tableNumber="1" whitePlayer="BONJEANROBIN"/>
<Game blackPlayer="LEMOINETHEO" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="3" tableNumber="2" whitePlayer="IMAMURA-CORNUEJOLSTORU"/>
<Game blackPlayer="NOGUCHIMOTOKI" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="3" tableNumber="3" whitePlayer="LEVEQUECAMILLE"/>
<Game blackPlayer="FIORINABAPTISTE" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="3" tableNumber="4" whitePlayer="LEFEBVRELOÏC"/>
<Game blackPlayer="CORNAGGIARÉMI" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="3" tableNumber="5" whitePlayer="RENDUQUENTIN"/>
<Game blackPlayer="CORNUEJOLSDOMINIQUE" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="3" tableNumber="6" whitePlayer="AIMWARREN"/>
<Game blackPlayer="MARECHALMORGANE" handicap="3" knownColor="true" result="RESULT_WHITEWINS" roundNumber="3" tableNumber="7" whitePlayer="DURANDROMAIN"/>
<Game blackPlayer="ROBINCLÉ" handicap="3" knownColor="true" result="RESULT_BLACKWINS" roundNumber="3" tableNumber="8" whitePlayer="GOLOUBKOVALEXANDRA"/>
<Game blackPlayer="BONJEANROBIN" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="5" tableNumber="1" whitePlayer="LEVEQUECAMILLE"/>
<Game blackPlayer="IMAMURA-CORNUEJOLSTORU" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="5" tableNumber="2" whitePlayer="KARADABANDENIS"/>
<Game blackPlayer="NOGUCHIMOTOKI" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="5" tableNumber="3" whitePlayer="LEMOINETHEO"/>
<Game blackPlayer="FIORINABAPTISTE" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="5" tableNumber="4" whitePlayer="CORNAGGIARÉMI"/>
<Game blackPlayer="LEFEBVRELOÏC" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="5" tableNumber="5" whitePlayer="DURANDROMAIN"/>
<Game blackPlayer="GOLOUBKOVALEXANDRA" handicap="3" knownColor="true" result="RESULT_BLACKWINS" roundNumber="5" tableNumber="6" whitePlayer="AIMWARREN"/>
<Game blackPlayer="MARECHALMORGANE" handicap="5" knownColor="true" result="RESULT_WHITEWINS" roundNumber="5" tableNumber="7" whitePlayer="CORNUEJOLSDOMINIQUE"/>
<Game blackPlayer="ROBINCLÉ" handicap="7" knownColor="true" result="RESULT_BLACKWINS" roundNumber="5" tableNumber="8" whitePlayer="RENDUQUENTIN"/>
<Game blackPlayer="NOGUCHIMOTOKI" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="2" tableNumber="1" whitePlayer="KARADABANDENIS"/>
<Game blackPlayer="BONJEANROBIN" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="2" tableNumber="2" whitePlayer="IMAMURA-CORNUEJOLSTORU"/>
<Game blackPlayer="LEMOINETHEO" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="2" tableNumber="3" whitePlayer="RENDUQUENTIN"/>
<Game blackPlayer="LEFEBVRELOÏC" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="2" tableNumber="4" whitePlayer="LEVEQUECAMILLE"/>
<Game blackPlayer="AIMWARREN" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="2" tableNumber="5" whitePlayer="FIORINABAPTISTE"/>
<Game blackPlayer="CORNAGGIARÉMI" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="2" tableNumber="6" whitePlayer="CORNUEJOLSDOMINIQUE"/>
<Game blackPlayer="GOLOUBKOVALEXANDRA" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="2" tableNumber="7" whitePlayer="MARECHALMORGANE"/>
<Game blackPlayer="ROBINCLÉ" handicap="7" knownColor="true" result="RESULT_BLACKWINS" roundNumber="2" tableNumber="8" whitePlayer="DURANDROMAIN"/>
<Game blackPlayer="IMAMURA-CORNUEJOLSTORU" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="4" tableNumber="1" whitePlayer="NOGUCHIMOTOKI"/>
<Game blackPlayer="LEVEQUECAMILLE" handicap="0" knownColor="true" result="RESULT_BLACKWINS" roundNumber="4" tableNumber="2" whitePlayer="KARADABANDENIS"/>
<Game blackPlayer="FIORINABAPTISTE" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="4" tableNumber="3" whitePlayer="BONJEANROBIN"/>
<Game blackPlayer="RENDUQUENTIN" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="4" tableNumber="4" whitePlayer="LEFEBVRELOÏC"/>
<Game blackPlayer="AIMWARREN" handicap="0" knownColor="true" result="RESULT_WHITEWINS" roundNumber="4" tableNumber="5" whitePlayer="LEMOINETHEO"/>
<Game blackPlayer="GOLOUBKOVALEXANDRA" handicap="3" knownColor="true" result="RESULT_BLACKWINS" roundNumber="4" tableNumber="6" whitePlayer="DURANDROMAIN"/>
<Game blackPlayer="MARECHALMORGANE" handicap="5" knownColor="true" result="RESULT_WHITEWINS" roundNumber="4" tableNumber="7" whitePlayer="CORNAGGIARÉMI"/>
<Game blackPlayer="ROBINCLÉ" handicap="6" knownColor="true" result="RESULT_WHITEWINS" roundNumber="4" tableNumber="8" whitePlayer="CORNUEJOLSDOMINIQUE"/>
</Games>
<TournamentParameterSet>
<GeneralParameterSet bInternet="false" basicTime="60" beginDate="2023-10-31" canByoYomiTime="300" complementaryTimeSystem="STDBYOYOMI" director="Theo" endDate="2023-10-31" fischerTime="10" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="4D" genMMFloor="20K" genMMS2ValueAbsent="1" genMMS2ValueBye="2" genMMZero="30K" genNBW2ValueAbsent="0" genNBW2ValueBye="2" genRoundDownNBWMMS="true" komi="7.5" location="Marseillebb" name="SimpleMM" nbMovesCanTime="15" numberOfCategories="1" numberOfRounds="5" shortName="simplemm" size="19" stdByoYomiTime="30"/>
<HandicapParameterSet hdBasedOnMMS="true" hdCeiling="9" hdCorrection="1" hdNoHdRankThreshold="1D"/>
<PlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="MMS" number="1"/>
<PlacementCriterion name="SOSM" number="2"/>
<PlacementCriterion name="SOSOSM" number="3"/>
<PlacementCriterion name="NULL" number="4"/>
<PlacementCriterion name="NULL" number="5"/>
<PlacementCriterion name="NULL" number="6"/>
</PlacementCriteria>
</PlacementParameterSet>
<PairingParameterSet paiBaAvoidDuplGame="500000000000000" paiBaBalanceWB="1000000" paiBaDeterministic="true" paiBaRandom="0" paiMaAdditionalPlacementCritSystem1="Rating" paiMaAdditionalPlacementCritSystem2="NULL" paiMaAvoidMixingCategories="0" paiMaCompensateDUDD="true" paiMaDUDDLowerMode="MID" paiMaDUDDUpperMode="MID" paiMaDUDDWeight="100000000" paiMaLastRoundForSeedSystem1="2" paiMaMaximizeSeeding="5000000" paiMaMinimizeScoreDifference="100000000000" paiMaSeedSystem1="SPLITANDRANDOM" paiMaSeedSystem2="SPLITANDSLIP" paiSeAvoidSameGeo="100000000000" paiSeBarThresholdActive="true" paiSeDefSecCrit="100000000000" paiSeMinimizeHandicap="0" paiSeNbWinsThresholdActive="false" paiSePreferMMSDiffRatherThanSameClub="3" paiSePreferMMSDiffRatherThanSameCountry="1" paiSeRankThreshold="1D" paiStandardNX1Factor="0.5"/>
<DPParameterSet displayClCol="true" displayCoCol="true" displayIndGamesInMatches="true" displayNPPlayers="false" displayNumCol="true" displayPlCol="true" gameFormat="full" playerSortType="name" showByePlayer="true" showNotFinallyRegisteredPlayers="true" showNotPairedPlayers="true" showNotParticipatingPlayers="false" showPlayerClub="true" showPlayerCountry="false" showPlayerGrade="true"/>
<PublishParameterSet exportToLocalFile="true" htmlAutoScroll="false" print="true"/>
</TournamentParameterSet>
<TeamTournamentParameterSet>
<TeamGeneralParameterSet teamSize="4"/>
<TeamPlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="TEAMP" number="1"/>
<PlacementCriterion name="BDW" number="2"/>
<PlacementCriterion name="BDW3U" number="3"/>
<PlacementCriterion name="BDW2U" number="4"/>
<PlacementCriterion name="BDW1U" number="5"/>
<PlacementCriterion name="MNR" number="6"/>
</PlacementCriteria>
</TeamPlacementParameterSet>
</TeamTournamentParameterSet>
</Tournament>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tournament dataVersion="201" externalIPAddress="77.128.107.78" gothaMinorVersion="5" gothaVersion="348" saveDT="20191119110542">
<Players>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="2200056" ffgLicenceStatus="L" firstName="Clé" grade="10K" name="Robin" participating="11111111111111111111" rank="10K" rating="1129" ratingOrigin="FFG : -921" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="2100063" ffgLicenceStatus="L" firstName="Baptiste" grade="1D" name="Fiorina" participating="11111111111111111111" rank="1D" rating="2106" ratingOrigin="FFG : 56" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="0280000" ffgLicenceStatus="L" firstName="Motoki" grade="7D" name="Noguchi" participating="11111111111111111111" rank="7D" rating="2666" ratingOrigin="FFG : 616" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="1000392" ffgLicenceStatus="L" firstName="Alexandra" grade="7K" name="Goloubkov" participating="11111111111111111111" rank="7K" rating="1389" ratingOrigin="FFG : -661" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="00St" country="FR" egfPin="" ffgLicence="1600310" ffgLicenceStatus="L" firstName="Robin" grade="4D" name="Bonjean" participating="11111111111111111111" rank="4D" rating="2357" ratingOrigin="FFG : 307" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1000005" ffgLicenceStatus="L" firstName="Quentin" grade="2D" name="Rendu" participating="11111111111111111111" rank="2D" rating="2155" ratingOrigin="FFG : 105" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1700003" ffgLicenceStatus="L" firstName="Morgane" grade="7K" name="Marechal" participating="11111111111111111111" rank="7K" rating="1388" ratingOrigin="FFG : -662" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="7904900" ffgLicenceStatus="L" firstName="Dominique" grade="1K" name="Cornuejols" participating="11111111111111111111" rank="1K" rating="2035" ratingOrigin="FFG : -15" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="49An" country="FR" egfPin="" ffgLicence="1800102" ffgLicenceStatus="L" firstName="Theo" grade="3D" name="Lemoine" participating="11111111111111111111" rank="3D" rating="2317" ratingOrigin="FFG : 267" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="9791002" ffgLicenceStatus="L" firstName="Toru" grade="3D" name="Imamura-Cornuejols" participating="11111111111111111111" rank="3D" rating="2343" ratingOrigin="FFG : 293" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="2000113" ffgLicenceStatus="L" firstName="Warren" grade="2D" name="Aim" participating="11111111111111111111" rank="2D" rating="2231" ratingOrigin="FFG : 181" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1300045" ffgLicenceStatus="L" firstName="Loïc" grade="3D" name="Lefebvre" participating="11111111111111111111" rank="3D" rating="2281" ratingOrigin="FFG : 231" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75Ju" country="FR" egfPin="" ffgLicence="0800078" ffgLicenceStatus="L" firstName="Rémi" grade="1K" name="Cornaggia" participating="11111111111111111111" rank="1K" rating="1995" ratingOrigin="FFG : -55" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="0900438" ffgLicenceStatus="L" firstName="Denis" grade="6D" name="Karadaban" participating="11111111111111111111" rank="6D" rating="2576" ratingOrigin="FFG : 526" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1800061" ffgLicenceStatus="L" firstName="Camille" grade="2D" name="Leveque" participating="11111111111111111111" rank="2D" rating="2221" ratingOrigin="FFG : 171" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="37To" country="FR" egfPin="" ffgLicence="2100064" ffgLicenceStatus="L" firstName="Romain" grade="2K" name="Durand" participating="11111111111111111111" rank="2K" rating="1851" ratingOrigin="FFG : -199" registeringStatus="FIN" smmsCorrection="0"/>
</Players>
<Games/>
<TournamentParameterSet>
<GeneralParameterSet bInternet="false" basicTime="60" beginDate="2023-10-31" canByoYomiTime="300" complementaryTimeSystem="STDBYOYOMI" director="Theo" endDate="2023-10-31" fischerTime="10" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="4D" genMMFloor="20K" genMMS2ValueAbsent="1" genMMS2ValueBye="2" genMMZero="30K" genNBW2ValueAbsent="0" genNBW2ValueBye="2" genRoundDownNBWMMS="true" komi="7.5" location="Marseillebb" name="SimpleMM" nbMovesCanTime="15" numberOfCategories="1" numberOfRounds="5" shortName="simplemm" size="19" stdByoYomiTime="30"/>
<HandicapParameterSet hdBasedOnMMS="true" hdCeiling="9" hdCorrection="1" hdNoHdRankThreshold="1D"/>
<PlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="MMS" number="1"/>
<PlacementCriterion name="SOSM" number="2"/>
<PlacementCriterion name="SOSOSM" number="3"/>
<PlacementCriterion name="NULL" number="4"/>
<PlacementCriterion name="NULL" number="5"/>
<PlacementCriterion name="NULL" number="6"/>
</PlacementCriteria>
</PlacementParameterSet>
<PairingParameterSet paiBaAvoidDuplGame="500000000000000" paiBaBalanceWB="1000000" paiBaDeterministic="true" paiBaRandom="0" paiMaAdditionalPlacementCritSystem1="Rating" paiMaAdditionalPlacementCritSystem2="NULL" paiMaAvoidMixingCategories="0" paiMaCompensateDUDD="true" paiMaDUDDLowerMode="MID" paiMaDUDDUpperMode="MID" paiMaDUDDWeight="100000000" paiMaLastRoundForSeedSystem1="2" paiMaMaximizeSeeding="5000000" paiMaMinimizeScoreDifference="100000000000" paiMaSeedSystem1="SPLITANDRANDOM" paiMaSeedSystem2="SPLITANDSLIP" paiSeAvoidSameGeo="100000000000" paiSeBarThresholdActive="true" paiSeDefSecCrit="100000000000" paiSeMinimizeHandicap="0" paiSeNbWinsThresholdActive="false" paiSePreferMMSDiffRatherThanSameClub="3" paiSePreferMMSDiffRatherThanSameCountry="1" paiSeRankThreshold="1D" paiStandardNX1Factor="0.5"/>
<DPParameterSet displayClCol="true" displayCoCol="true" displayIndGamesInMatches="true" displayNPPlayers="false" displayNumCol="true" displayPlCol="true" gameFormat="full" playerSortType="name" showByePlayer="true" showNotFinallyRegisteredPlayers="true" showNotPairedPlayers="true" showNotParticipatingPlayers="false" showPlayerClub="true" showPlayerCountry="false" showPlayerGrade="true"/>
<PublishParameterSet exportToLocalFile="true" htmlAutoScroll="false" print="true"/>
</TournamentParameterSet>
<TeamTournamentParameterSet>
<TeamGeneralParameterSet teamSize="4"/>
<TeamPlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="TEAMP" number="1"/>
<PlacementCriterion name="BDW" number="2"/>
<PlacementCriterion name="BDW3U" number="3"/>
<PlacementCriterion name="BDW2U" number="4"/>
<PlacementCriterion name="BDW1U" number="5"/>
<PlacementCriterion name="MNR" number="6"/>
</PlacementCriteria>
</TeamPlacementParameterSet>
</TeamTournamentParameterSet>
</Tournament>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tournament externalIPAddress="&lt;!DOCTYPE html&gt;" fullVersionNumber="3.51.05" macAddress="C8-E2-65-6F-80-E7" privateTournament="true" runningMode="SAL" saveDT="20210711010727">
<Players>
<Player agaExpirationDate="" agaId="" club="31To" country="FR" egfPin="" ffgLicence="1100278" ffgLicenceStatus="L" firstName="Andéol" grade="1K" name="Evain" participating="11111111111111111111" rank="1K" rating="1982" ratingOrigin="FFG : -68" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="0013006" ffgLicenceStatus="L" firstName="Philippe" grade="1D" name="Guerre-Genton" participating="11111111111111111111" rank="1D" rating="2080" ratingOrigin="FFG : 30" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1000229" ffgLicenceStatus="L" firstName="Ariane" grade="4D" name="Ougier" participating="11111000000000000000" rank="4D" rating="2392" ratingOrigin="FFG : 342" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="31To" country="FR" egfPin="" ffgLicence="2100122" ffgLicenceStatus="C" firstName="Annabel" grade="20K" name="Fourcade" participating="11110000000000000000" rank="20K" rating="-900" ratingOrigin="FFG : -9999" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="31Ba" country="FR" egfPin="" ffgLicence="2100112" ffgLicenceStatus="L" firstName="Benoit" grade="10K" name="Bonetti" participating="11111111111111111111" rank="10K" rating="-900" ratingOrigin="FFG : -9999" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="94Ca" country="FR" egfPin="" ffgLicence="1800050" ffgLicenceStatus="L" firstName="Bastien" grade="5K" name="Frappart" participating="11111000000000000000" rank="5K" rating="1598" ratingOrigin="FFG : -452" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75Op" country="FR" egfPin="" ffgLicence="9425017" ffgLicenceStatus="L" firstName="Simon" grade="1K" name="Rosenblatt" participating="11111000000000000000" rank="1K" rating="2022" ratingOrigin="FFG : -28" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="2000113" ffgLicenceStatus="L" firstName="Warren" grade="2K" name="Aim" participating="11111000000000000000" rank="2K" rating="1877" ratingOrigin="FFG : -173" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1900263" ffgLicenceStatus="L" firstName="Thibaut" grade="4K" name="Perrin" participating="11111111111111111111" rank="4K" rating="1652" ratingOrigin="FFG : -398" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1600034" ffgLicenceStatus="L" firstName="Benoit" grade="1K" name="Robichon" participating="11111111111111111111" rank="1K" rating="2046" ratingOrigin="FFG : -4" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1100032" ffgLicenceStatus="L" firstName="Elodie" grade="7K" name="Ronayette" participating="11111111111111111111" rank="7K" rating="1436" ratingOrigin="FFG : -614" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="92An" country="FR" egfPin="" ffgLicence="1200269" ffgLicenceStatus="L" firstName="Kevin" grade="4K" name="Houari" participating="11111111111111111111" rank="4K" rating="1674" ratingOrigin="FFG : -376" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75OB" country="FR" egfPin="" ffgLicence="9625036" ffgLicenceStatus="L" firstName="Daniel" grade="7K" name="Stockholm" participating="11100000000000000000" rank="7K" rating="1391" ratingOrigin="FFG : -659" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="35Re" country="FR" egfPin="" ffgLicence="1800152" ffgLicenceStatus="L" firstName="Tâm_Loup" grade="6K" name="le" participating="11111111111111111111" rank="6K" rating="1492" ratingOrigin="FFG : -558" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="69Ly" country="FR" egfPin="" ffgLicence="1600070" ffgLicenceStatus="L" firstName="Abdallah" grade="2D" name="Mezouar" participating="11111111111111111111" rank="2D" rating="2198" ratingOrigin="FFG : 148" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="35Re" country="FR" egfPin="" ffgLicence="0900460" ffgLicenceStatus="L" firstName="Florent" grade="3D" name="Rioland" participating="11111000000000000000" rank="3D" rating="2342" ratingOrigin="FFG : 292" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="69Ly" country="FR" egfPin="" ffgLicence="1800162" ffgLicenceStatus="L" firstName="Lubin" grade="1K" name="Wilhelm" participating="11111000000000000000" rank="1K" rating="2045" ratingOrigin="FFG : -5" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="92An" country="FR" egfPin="" ffgLicence="1000230" ffgLicenceStatus="L" firstName="Guillaume" grade="4D" name="Ougier" participating="11111111111111111111" rank="4D" rating="2418" ratingOrigin="FFG : 368" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="76Ha" country="FR" egfPin="" ffgLicence="2100074" ffgLicenceStatus="C" firstName="Anaïs" grade="20K" name="Wargny" participating="11111000000000000000" rank="20K" rating="-900" ratingOrigin="FFG : -9999" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="64Pa" country="FR" egfPin="" ffgLicence="1700199" ffgLicenceStatus="L" firstName="Sylvie" grade="22K" name="Goossens" participating="11111000000000000000" rank="22K" rating="-101" ratingOrigin="FFG : -2151" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="2100126" ffgLicenceStatus="L" firstName="Louis" grade="10K" name="Vieille" participating="11111111111111111111" rank="10K" rating="-900" ratingOrigin="FFG : -9999" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75OB" country="FR" egfPin="" ffgLicence="2100058" ffgLicenceStatus="L" firstName="Rose-Marie" grade="8K" name="Bouisset" participating="11100000000000000000" rank="8K" rating="1280" ratingOrigin="FFG : -770" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="34Mo" country="FR" egfPin="" ffgLicence="2100033" ffgLicenceStatus="L" firstName="Hugo" grade="11K" name="Johnson" participating="11111111111111111111" rank="11K" rating="1028" ratingOrigin="FFG : -1022" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="66Pe" country="FR" egfPin="" ffgLicence="0473000" ffgLicenceStatus="L" firstName="Arnaud" grade="1K" name="Beltran" participating="11111111111111111111" rank="1K" rating="1989" ratingOrigin="FFG : -61" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="42Se" country="FR" egfPin="" ffgLicence="8590600" ffgLicenceStatus="L" firstName="Jean-Paul" grade="2K" name="Gaschignard" participating="11111111111111111111" rank="2K" rating="1925" ratingOrigin="FFG : -125" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="00St" country="FR" egfPin="" ffgLicence="1900244" ffgLicenceStatus="L" firstName="Gregoire" grade="3K" name="Thomazeau" participating="11111111111111111111" rank="3K" rating="1774" ratingOrigin="FFG : -276" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="91Or" country="FR" egfPin="" ffgLicence="1800220" ffgLicenceStatus="L" firstName="Etienne" grade="1K" name="Perroux" participating="11111111111111111111" rank="1K" rating="1978" ratingOrigin="FFG : -72" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="00St" country="FR" egfPin="" ffgLicence="2100119" ffgLicenceStatus="L" firstName="Jonathan" grade="6K" name="Pittonet" participating="11111000000000000000" rank="6K" rating="-900" ratingOrigin="FFG : -9999" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="10Tr" country="FR" egfPin="" ffgLicence="1800226" ffgLicenceStatus="L" firstName="Oscar" grade="4K" name="Yung" participating="11111111111111111111" rank="4K" rating="1689" ratingOrigin="FFG : -361" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="06Ni" country="FR" egfPin="" ffgLicence="1900160" ffgLicenceStatus="L" firstName="Nicolas" grade="13K" name="Lidureau" participating="11111111111111111111" rank="13K" rating="777" ratingOrigin="FFG : -1273" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="06Ni" country="FR" egfPin="" ffgLicence="2000223" ffgLicenceStatus="L" firstName="Andrea" grade="24K" name="Lidureau" participating="11111111111111111111" rank="24K" rating="-298" ratingOrigin="FFG : -2348" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="9177001" ffgLicenceStatus="L" firstName="Olivier" grade="2D" name="Clergue" participating="11111111111111111111" rank="2D" rating="2158" ratingOrigin="FFG : 108" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75Ju" country="FR" egfPin="" ffgLicence="1500138" ffgLicenceStatus="L" firstName="Abel" grade="9K" name="Mir" participating="11111111111111111111" rank="9K" rating="1174" ratingOrigin="FFG : -876" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="64Pa" country="FR" egfPin="" ffgLicence="" ffgLicenceStatus="-" firstName="Jean-Romain" grade="8K" name="Grange-Praderas" participating="11111000000000000000" rank="8K" rating="1250" ratingOrigin="MAN" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="44Na" country="FR" egfPin="" ffgLicence="0437002" ffgLicenceStatus="L" firstName="Brigitte" grade="12K" name="Doisneau" participating="11111000000000000000" rank="12K" rating="883" ratingOrigin="FFG : -1167" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1300156" ffgLicenceStatus="L" firstName="Elian" grade="1D" name="Mangin" participating="11111111111111111111" rank="1D" rating="2118" ratingOrigin="FFG : 68" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75Al" country="FR" egfPin="" ffgLicence="0514106" ffgLicenceStatus="L" firstName="Fabien" grade="4D" name="Lips" participating="11111111111111111111" rank="4D" rating="2408" ratingOrigin="FFG : 358" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="42Se" country="FR" egfPin="" ffgLicence="0700382" ffgLicenceStatus="L" firstName="Léo" grade="1D" name="Battin" participating="11111000000000000000" rank="1D" rating="2097" ratingOrigin="FFG : 47" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="73Ch" country="FR" egfPin="" ffgLicence="0414403" ffgLicenceStatus="L" firstName="Gérald" grade="4K" name="Garlatti" participating="11111000000000000000" rank="4K" rating="1745" ratingOrigin="FFG : -305" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="84Av" country="FR" egfPin="" ffgLicence="1500265" ffgLicenceStatus="L" firstName="Antonin" grade="15K" name="Teissier" participating="11111000000000000000" rank="15K" rating="605" ratingOrigin="FFG : -1445" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="49An" country="FR" egfPin="" ffgLicence="1800102" ffgLicenceStatus="L" firstName="Theo" grade="2D" name="Lemoine" participating="11111111100000000000" rank="2D" rating="2172" ratingOrigin="FFG : 122" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="59Li" country="FR" egfPin="" ffgLicence="1900260" ffgLicenceStatus="L" firstName="Raphaël" grade="11K" name="Robert" participating="11111111100000000000" rank="11K" rating="1008" ratingOrigin="FFG : -1042" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="30LV" country="FR" egfPin="" ffgLicence="1900261" ffgLicenceStatus="-" firstName="Bruno" grade="10K" name="Martin-Vallas" participating="11111000000000000000" rank="10K" rating="1050" ratingOrigin="FFG : -1000" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="9777001" ffgLicenceStatus="-" firstName="Christian" grade="4K" name="Chauvin" participating="11111100000000000000" rank="4K" rating="1650" ratingOrigin="FFG : -400" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="35Re" country="FR" egfPin="" ffgLicence="9737213" ffgLicenceStatus="L" firstName="Alain" grade="4K" name="Papazoglou" participating="11100000000000000000" rank="4K" rating="1704" ratingOrigin="FFG : -346" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="34Mo" country="FR" egfPin="" ffgLicence="1000483" ffgLicenceStatus="L" firstName="Sylvain" grade="3K" name="Col" participating="11111000000000000000" rank="3K" rating="1796" ratingOrigin="FFG : -254" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="31Ba" country="FR" egfPin="" ffgLicence="0700101" ffgLicenceStatus="L" firstName="Jean-Yves" grade="7K" name="Papazoglou" participating="11100000000000000000" rank="7K" rating="1356" ratingOrigin="FFG : -694" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="21Di" country="FR" egfPin="" ffgLicence="9183002" ffgLicenceStatus="L" firstName="Henri" grade="1D" name="Gauthier" participating="11111000000000000000" rank="1D" rating="2094" ratingOrigin="FFG : 44" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="1700336" ffgLicenceStatus="L" firstName="Lucien" grade="2K" name="Radal" participating="11111000000000000000" rank="2K" rating="1878" ratingOrigin="FFG : -172" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38GJ" country="FR" egfPin="" ffgLicence="2000028" ffgLicenceStatus="L" firstName="Léonard" grade="12K" name="Paret" participating="11111111111111111111" rank="12K" rating="910" ratingOrigin="FFG : -1140" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="69Ly" country="FR" egfPin="" ffgLicence="1300253" ffgLicenceStatus="L" firstName="Florent" grade="7K" name="Saint-Paul" participating="11111000000000000000" rank="7K" rating="1410" ratingOrigin="FFG : -640" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="69Ly" country="FR" egfPin="" ffgLicence="1500206" ffgLicenceStatus="L" firstName="Mikaël" grade="6K" name="Goffard" participating="11111111111111111111" rank="6K" rating="1490" ratingOrigin="FFG : -560" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="42Se" country="FR" egfPin="" ffgLicence="1500013" ffgLicenceStatus="L" firstName="Thomas" grade="12K" name="Bisaccia" participating="11111000000000000000" rank="12K" rating="918" ratingOrigin="FFG : -1132" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="1700001" ffgLicenceStatus="-" firstName="Antoine" grade="11K" name="Willenbucher" participating="11111111111111111111" rank="11K" rating="950" ratingOrigin="FFG : -1100" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="92An" country="FR" egfPin="" ffgLicence="1700074" ffgLicenceStatus="L" firstName="Gaultier" grade="4K" name="Bernard" participating="11111111111111111111" rank="4K" rating="1710" ratingOrigin="FFG : -340" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="2100063" ffgLicenceStatus="L" firstName="Baptiste" grade="6K" name="Fiorina" participating="11111111111111111111" rank="6K" rating="1474" ratingOrigin="FFG : -576" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="31To" country="FR" egfPin="" ffgLicence="1800214" ffgLicenceStatus="L" firstName="Octave" grade="12K" name="Hautefeuille" participating="11111000000000000000" rank="12K" rating="868" ratingOrigin="FFG : -1182" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="77ML" country="FR" egfPin="" ffgLicence="1900164" ffgLicenceStatus="L" firstName="Adam" grade="28K" name="Bakri" participating="11111000000000000000" rank="28K" rating="-738" ratingOrigin="FFG : -2788" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="64Pa" country="FR" egfPin="" ffgLicence="1100109" ffgLicenceStatus="L" firstName="Siméon" grade="3D" name="Girousse" participating="11111000000000000000" rank="3D" rating="2273" ratingOrigin="FFG : 223" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="69Ly" country="FR" egfPin="" ffgLicence="0614107" ffgLicenceStatus="L" firstName="Denis" grade="3D" name="Kuperberg" participating="11111111000000000000" rank="3D" rating="2250" ratingOrigin="FFG : 200" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="75Al" country="FR" egfPin="" ffgLicence="1800175" ffgLicenceStatus="L" firstName="Sophie" grade="8K" name="Lebas_de_Saint_Martin" participating="11111111111111111111" rank="8K" rating="1302" ratingOrigin="FFG : -748" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="35Re" country="FR" egfPin="" ffgLicence="1200092" ffgLicenceStatus="L" firstName="Christele" grade="13K" name="Derrien" participating="11111111111111111111" rank="13K" rating="835" ratingOrigin="FFG : -1215" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="91Or" country="FR" egfPin="" ffgLicence="0426802" ffgLicenceStatus="L" firstName="Stéphan" grade="3D" name="Kunne" participating="11111111111111111111" rank="3D" rating="2320" ratingOrigin="FFG : 270" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="69Ly" country="FR" egfPin="" ffgLicence="1700097" ffgLicenceStatus="L" firstName="Gilles" grade="17K" name="Forissier" participating="11111111111111111111" rank="17K" rating="402" ratingOrigin="FFG : -1648" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="92Le" country="FR" egfPin="" ffgLicence="0424601" ffgLicenceStatus="L" firstName="Sylvain" grade="3K" name="Ravera" participating="11111000000000000000" rank="3K" rating="1761" ratingOrigin="FFG : -289" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="31To" country="FR" egfPin="" ffgLicence="1500255" ffgLicenceStatus="L" firstName="Siméon" grade="7K" name="Grosdoy" participating="11111000000000000000" rank="7K" rating="1375" ratingOrigin="FFG : -675" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="25Be" country="FR" egfPin="" ffgLicence="2000239" ffgLicenceStatus="L" firstName="Raphaël" grade="4K" name="Valot" participating="11111000000000000000" rank="4K" rating="1718" ratingOrigin="FFG : -332" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="34Mo" country="FR" egfPin="" ffgLicence="0677401" ffgLicenceStatus="L" firstName="Patrice" grade="1K" name="Barcelo" participating="11111000000000000000" rank="1K" rating="1979" ratingOrigin="FFG : -71" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="00St" country="FR" egfPin="" ffgLicence="1700134" ffgLicenceStatus="L" firstName="Christophe" grade="7K" name="Levointurier" participating="11111111111111111111" rank="7K" rating="1365" ratingOrigin="FFG : -685" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="92An" country="FR" egfPin="" ffgLicence="9333003" ffgLicenceStatus="L" firstName="Jean-François" grade="3K" name="Bocquet" participating="11111111111111111111" rank="3K" rating="1820" ratingOrigin="FFG : -230" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="63Ce" country="FR" egfPin="" ffgLicence="" ffgLicenceStatus="" firstName="Soufiane" grade="13K" name="Gzhal" participating="11111111111111111111" rank="13K" rating="750" ratingOrigin="MAN" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="84Av" country="FR" egfPin="" ffgLicence="1500264" ffgLicenceStatus="L" firstName="Samuel" grade="4D" name="Teissier" participating="11111000000000000000" rank="4D" rating="2351" ratingOrigin="FFG : 301" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="31To" country="FR" egfPin="" ffgLicence="1000349" ffgLicenceStatus="C" firstName="Cyriel" grade="11K" name="Paris" participating="11110000000000000000" rank="11K" rating="950" ratingOrigin="FFG : -1100" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="0682002" ffgLicenceStatus="-" firstName="Frédéric" grade="1D" name="Streicher" participating="11111111111111111111" rank="1D" rating="2050" ratingOrigin="FFG : 0" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="31Ba" country="FR" egfPin="" ffgLicence="8210000" ffgLicenceStatus="L" firstName="Denis" grade="7K" name="Puaud" participating="11111111111111111111" rank="7K" rating="1360" ratingOrigin="FFG : -690" registeringStatus="FIN" smmsCorrection="0"/>
<Player agaExpirationDate="" agaId="" club="35Re" country="FR" egfPin="" ffgLicence="2000123" ffgLicenceStatus="L" firstName="Benjamin" grade="5K" name="Loizance" participating="11111000000000000000" rank="5K" rating="1603" ratingOrigin="FFG : -447" registeringStatus="FIN" smmsCorrection="0"/>
</Players>
<Games/>
<TournamentParameterSet>
<GeneralParameterSet bInternetGame="false" basicTime="60" beginDate="2021-07-10" canByoYomiTime="300" complementaryTimeSystem="STDBYOYOMI" director="Claude brisson" endDate="2021-07-24" fischerTime="10" genCountNotPlayedGamesAsHalfPoint="true" genMMBar="1D" genMMFloor="20K" genMMS2ValueAbsent="1" genMMS2ValueBye="2" genMMZero="30K" genNBW2ValueAbsent="1" genNBW2ValueBye="2" genRoundDownNBWMMS="true" komi="7.5" location="Montcabrier" name="stage ffg" nbMovesCanTime="15" numberOfBZHGroups="1" numberOfCategories="1" numberOfRounds="10" shortName="stage-v3" size="19" stdByoYomiTime="30"/>
<HandicapParameterSet hdBase="MMS" hdCeiling="9" hdCorrection="1" hdNoHdRankThreshold="1D"/>
<PlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="MMS" number="1"/>
<PlacementCriterion name="SOSM" number="2"/>
<PlacementCriterion name="SOSOSM" number="3"/>
<PlacementCriterion name="NULL" number="4"/>
<PlacementCriterion name="NULL" number="5"/>
<PlacementCriterion name="NULL" number="6"/>
</PlacementCriteria>
</PlacementParameterSet>
<PairingParameterSet paiBaAvoidDuplGame="500000000000000" paiBaBalanceWB="1000000" paiBaDeterministic="true" paiBaRandom="0" paiMaAdditionalPlacementCritSystem1="Rating" paiMaAdditionalPlacementCritSystem2="NULL" paiMaAvoidMixingCategories="0" paiMaCompensateDUDD="true" paiMaDUDDLowerMode="MID" paiMaDUDDUpperMode="MID" paiMaDUDDWeight="100000000" paiMaLastRoundForSeedSystem1="2" paiMaMaximizeSeeding="5000000" paiMaMinimizeScoreDifference="100000000000" paiMaSeedSystem1="SPLITANDRANDOM" paiMaSeedSystem2="SPLITANDSLIP" paiSeAvoidSameGeo="100000000000" paiSeBarThresholdActive="true" paiSeDefSecCrit="100000000000" paiSeMinimizeHandicap="0" paiSeNbWinsThresholdActive="false" paiSePreferMMSDiffRatherThanSameClub="3" paiSePreferMMSDiffRatherThanSameCountry="1" paiSeRankThreshold="1D" paiStandardNX1Factor="0.5"/>
<DPParameterSet displayClCol="true" displayCoCol="true" displayIndGamesInMatches="true" displayNPPlayers="false" displayNumCol="true" displayPlCol="true" gameFormat="full" playerSortType="name" showByePlayer="true" showNotFinallyRegisteredPlayers="true" showNotPairedPlayers="true" showNotParticipatingPlayers="false" showPlayerClub="true" showPlayerCountry="false" showPlayerGrade="true"/>
<PublishParameterSet exportToLocalFile="true" htmlAutoScroll="false" print="true"/>
</TournamentParameterSet>
<TeamTournamentParameterSet>
<TeamGeneralParameterSet teamSize="4"/>
<TeamPlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="TEAMP" number="1"/>
<PlacementCriterion name="BDW" number="2"/>
<PlacementCriterion name="BDW3U" number="3"/>
<PlacementCriterion name="BDW2U" number="4"/>
<PlacementCriterion name="BDW1U" number="5"/>
<PlacementCriterion name="MNR" number="6"/>
</PlacementCriteria>
</TeamPlacementParameterSet>
</TeamTournamentParameterSet>
</Tournament>

File diff suppressed because it is too large Load Diff