triplea-game / triplea

TripleA is a turn based strategy game and board game engine, similar to Axis & Allies or Risk.
https://triplea-game.org/
GNU General Public License v3.0
1.34k stars 398 forks source link

2.0.19225: ProLogWindow#addMessage:377 - NullPointerException #6481

Closed tripleabuilderbot closed 4 years ago

tripleabuilderbot commented 4 years ago

User Description

I got this error during play with my Warcraft: War Heroes map. Can anyone see if this this a map bug or engine thing? //FrostionAAA

Log Message

Error adding Pro log message! Message: Purchase Categories

TripleA Version

2.0.19225

Java Version

11.0.6

Operating System

Windows 10

Exception

java.lang.NullPointerException

Stack Trace

java.lang.NullPointerException
    at java.desktop/javax.swing.text.PlainView.calculateLongestLine(PlainView.java:782)
    at java.desktop/javax.swing.text.PlainView.updateDamage(PlainView.java:692)
    at java.desktop/javax.swing.text.PlainView.insertUpdate(PlainView.java:591)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1706)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1965)
    at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)
    at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)
    at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)
    at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)
    at java.desktop/javax.swing.JTextArea.append(JTextArea.java:468)
    at games.strategy.triplea.ai.pro.logging.ProLogWindow.addMessage(ProLogWindow.java:377)
    at games.strategy.triplea.ai.pro.logging.ProLogUi.notifyAiLogMessage(ProLogUi.java:39)
    at games.strategy.triplea.ai.pro.logging.ProLogger.log(ProLogger.java:58)
    at games.strategy.triplea.ai.pro.logging.ProLogger.log(ProLogger.java:28)
    at games.strategy.triplea.ai.pro.logging.ProLogger.info(ProLogger.java:16)
    at games.strategy.triplea.ai.pro.data.ProPurchaseOptionMap.<init>(ProPurchaseOptionMap.java:131)
    at games.strategy.triplea.ai.pro.ProData.hiddenInitialize(ProData.java:80)
    at games.strategy.triplea.ai.pro.ProData.initialize(ProData.java:44)
    at games.strategy.triplea.ai.pro.AbstractProAi.initializeData(AbstractProAi.java:111)
    at games.strategy.triplea.ai.pro.AbstractProAi.place(AbstractProAi.java:271)
    at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:523)
    at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:538)
    at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:408)
    at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297)
    at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:61)
    at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:34)
    at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:16)
    at java.base/java.lang.Thread.run(Thread.java:834)
FrostionAAA commented 4 years ago

This is the same as error https://github.com/triplea-game/triplea/issues/6478 ... it seems :-)

DanVanAtta commented 4 years ago

@FrostionAAA as far as you can tell, did this error impact the game, or was it just a pop-up?

DanVanAtta commented 4 years ago

Also, if you hit this again, see if you can open the AI log under the 'debug' menu.

FrostionAAA commented 4 years ago

It was just a popup. I will include AI log next time this "error adding pro log" happens.

DanVanAtta commented 4 years ago

The log itself is not needed. The error is regarding rendering of the AI log. If the window can be opened and viewed, and everything looks correct, then this error is a false-positive and is not actually impacting anything. It could be though that if you try to open the AI log that it does not open or does not otherwise render.

FrostionAAA commented 4 years ago

https://github.com/triplea-game/triplea/issues/6530 is just an Iron War version of this same issue I think.

FrostionAAA commented 4 years ago

Here is the Iron War AI log if this is of any use: Unavngivet

Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Starting combat move phase
    Berlin, current enemy land strengthDifference=-28.346536843291346, distance=2, enemySize=28, alliedSize=89
    Berlin, current enemy land strengthDifference=3.4859799569348624, distance=3, enemySize=63, alliedSize=108
  Currently in defensive stance: false
Removing territories that can't be conquered
  Checking strafing territory: Leningrad, alliedPlayer=Finland, maxWin%=0.0, maxAttackers=6, maxDefenders=9
  Removing territory that we can't successfully attack: Aegean Sea Zone, maxWin%=59.375, maxAttackers=6
  Removing territory that we can't successfully attack: Algeria, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Algerian Desert, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Ankara, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Azov Sea Zone, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Central Russia, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Central Turkey, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Corsica, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Eastern Ukraine, maxWin%=61.61616161616161, maxAttackers=1
  Removing territory that we can't successfully attack: El Alamein, maxWin%=63.63636363636363, maxAttackers=1
  Removing territory that we can't successfully attack: England, maxWin%=0.0, maxAttackers=10
  Removing territory that we can't successfully attack: Gibraltar, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Greece, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Istanbul, maxWin%=59.59595959595959, maxAttackers=1
  Removing territory that we can't successfully attack: Leningrad, maxWin%=0.0, maxAttackers=4
  Removing territory that we can't successfully attack: Portugal, maxWin%=0.0, maxAttackers=1
  Removing territory that we can't successfully attack: Stalingrad, maxWin%=32.323232323232325, maxAttackers=1
  Removing territory that we can't successfully attack: Tunesia, maxWin%=57.57575757575758, maxAttackers=1
Check if we should try to hold attack territories
  Norwegian Northern Sea Zone, CanHold=true since no enemy counter attackers, value=18.692970728968078, averageAttackFromValue=0.6757531111052688
  Faroe, CanHold=true since no enemy counter attackers, value=0.0, averageAttackFromValue=NaN
  Benelux, CanHold=false, value=2.31532548814864, averageAttackFromValue=4.310354312702935
  Troms-Finnmark, value=9.248471875303334, averageAttackFromValue=NaN, MyAttackers=7, RemainingUnits=6
  Troms-Finnmark, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-14.262626262626263, hasLandUnitRemaining=false
  Western Ukraine, value=25.60609914494953, averageAttackFromValue=11.088789806709173, MyAttackers=14, RemainingUnits=5
  Western Ukraine, CanHold=true, MyDefenders=5, EnemyAttackers=2, win%=0.0, EnemyTUVSwing=-16.918367346938773, hasLandUnitRemaining=false
  Scotland, value=0.5519060777014941, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Scotland, CanHold=false, MyDefenders=6, EnemyAttackers=13, win%=100.0, EnemyTUVSwing=38.06382978723404, hasLandUnitRemaining=true
  Iceland, CanHold=true since no enemy counter attackers, value=0.0, averageAttackFromValue=NaN
  Ireland, value=0.0, averageAttackFromValue=NaN, MyAttackers=6, RemainingUnits=4
  Ireland, CanHold=true, MyDefenders=4, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-13.949494949494948, hasLandUnitRemaining=false
  Baltic States, value=36.92204938092801, averageAttackFromValue=11.088789806709173, MyAttackers=17, RemainingUnits=13
  Baltic States, CanHold=true, MyDefenders=13, EnemyAttackers=12, win%=37.5, EnemyTUVSwing=-19.375000000000014, hasLandUnitRemaining=false
  France, CanHold=false, value=2.315479236237294, averageAttackFromValue=4.310354312702935
  Gulf of Bothnia Sea Zone, value=17.731619416717336, averageAttackFromValue=13.205513198163576, MyAttackers=8, RemainingUnits=3
  Gulf of Bothnia Sea Zone, CanHold=true, MyDefenders=3, EnemyAttackers=12, win%=7.216494845360824, EnemyTUVSwing=1.402061855670107, hasLandUnitRemaining=false
  Orkney, value=0.0, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Orkney, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-15.131313131313128, hasLandUnitRemaining=false
  Trondheim-Narvik, value=8.676894491409875, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Trondheim-Narvik, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-13.919191919191917, hasLandUnitRemaining=false
  Byelorussia, value=40.76863265135032, averageAttackFromValue=11.088789806709173, MyAttackers=14, RemainingUnits=6
  Byelorussia, CanHold=false, MyDefenders=6, EnemyAttackers=21, win%=100.0, EnemyTUVSwing=48.553191489361694, hasLandUnitRemaining=true
  Hebrides, value=0.0, averageAttackFromValue=NaN, MyAttackers=7, RemainingUnits=6
  Hebrides, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-14.636363636363633, hasLandUnitRemaining=false
  Northern Ireland, value=0.0, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Northern Ireland, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-13.484848484848484, hasLandUnitRemaining=false
  Vichy, value=1.4981937394633051, averageAttackFromValue=NaN, MyAttackers=4, RemainingUnits=0
  Vichy, CanHold=true, MyDefenders=0, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-1.0, hasLandUnitRemaining=false
  Switzerland, CanHold=false, value=2.9963874789266103, averageAttackFromValue=4.3274921365255485
  North Atlantic 2 Sea Zone, value=3.622666397335511, averageAttackFromValue=0.6757531111052688, MyAttackers=7, RemainingUnits=0
  North Atlantic 2 Sea Zone, CanHold=false, MyDefenders=0, EnemyAttackers=1, win%=100.0, EnemyTUVSwing=0.1, hasLandUnitRemaining=true
  Norway, value=4.33824835143597, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Norway, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-14.030303030303031, hasLandUnitRemaining=false
  Shetland, value=0.0, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Shetland, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-14.373737373737377, hasLandUnitRemaining=false
  Bay of Biscay Sea Zone, value=2.9866660580880264, averageAttackFromValue=0.6757531111052688, MyAttackers=10, RemainingUnits=6
  Bay of Biscay Sea Zone, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-19.797979797979792, hasLandUnitRemaining=false
  Denmark, CanHold=false, value=2.31532548814864, averageAttackFromValue=4.310354312702935
  Normandy, value=1.2735135799305117, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Normandy, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-14.505050505050505, hasLandUnitRemaining=false
  White Sea Zone, value=21.17936372268436, averageAttackFromValue=0.6757531111052688, MyAttackers=2, RemainingUnits=0
  White Sea Zone, CanHold=false, MyDefenders=0, EnemyAttackers=6, win%=100.0, EnemyTUVSwing=0.1, hasLandUnitRemaining=true
Prioritizing territories to try to attack
  AttackValue=139.84375, TUVSwing=13.96875, isAmphib=false, France
  AttackValue=40.999999999999986, TUVSwing=31.999999999999986, isAmphib=false, Western Ukraine
  AttackValue=39.86363636363636, TUVSwing=31.86363636363636, isAmphib=false, Byelorussia
  AttackValue=32.07291666666666, TUVSwing=32.07291666666666, isAmphib=false, Gulf of Bothnia Sea Zone
  AttackValue=29.9795918367347, TUVSwing=29.9795918367347, isAmphib=false, Bay of Biscay Sea Zone
  AttackValue=20.1, TUVSwing=0.1, isAmphib=false, Norwegian Northern Sea Zone
  AttackValue=18.063157894736833, TUVSwing=15.063157894736833, isAmphib=true, Scotland
  AttackValue=16.14285714285714, TUVSwing=1.1428571428571388, isAmphib=false, Vichy
  AttackValue=8.827956989247298, TUVSwing=8.827956989247298, isAmphib=false, North Atlantic 2 Sea Zone
  AttackValue=4.132653061224492, TUVSwing=4.132653061224492, isAmphib=false, White Sea Zone
  AttackValue=3.2708333333333393, TUVSwing=-26.72916666666666, isAmphib=false, Normandy
  AttackValue=2.102040816326536, TUVSwing=-0.8979591836734642, isAmphib=false, Northern Ireland
  AttackValue=2.0229166666666623, TUVSwing=14.229166666666629, isAmphib=false, Benelux
  AttackValue=1.9510416666666623, TUVSwing=17.51041666666663, isAmphib=false, Switzerland
  AttackValue=1.9354166666666652, TUVSwing=7.354166666666657, isAmphib=false, Baltic States
  AttackValue=1.8864583333333325, TUVSwing=15.864583333333329, isAmphib=true, Ireland
  AttackValue=1.6, TUVSwing=0.1, isAmphib=true, Orkney
  AttackValue=1.6, TUVSwing=0.1, isAmphib=true, Hebrides
  AttackValue=1.6, TUVSwing=0.1, isAmphib=true, Shetland
  AttackValue=1.5916666666666668, TUVSwing=0.9166666666666714, isAmphib=false, Norway
  AttackValue=1.3123711340206226, TUVSwing=7.123711340206228, isAmphib=false, Denmark
  AttackValue=1.037755102040816, TUVSwing=8.877551020408163, isAmphib=true, Troms-Finnmark
  AttackValue=0.7599999999999998, TUVSwing=0.1, isAmphib=true, Iceland
  AttackValue=0.663541666666667, TUVSwing=3.6354166666666714, isAmphib=false, Trondheim-Narvik
  AttackValue=0.15999999999999998, TUVSwing=0.1, isAmphib=true, Faroe
Remove territories that aren't worth attacking
  Checking territory=France with isAmphib=false
  Checking territory=Western Ukraine with isAmphib=false
  Checking territory=Byelorussia with isAmphib=false
  Checking territory=Gulf of Bothnia Sea Zone with isAmphib=false
  Checking territory=Bay of Biscay Sea Zone with isAmphib=false
  Checking territory=Norwegian Northern Sea Zone with isAmphib=false
  Checking territory=Scotland with isAmphib=true
  Checking territory=Vichy with isAmphib=false
  Checking territory=North Atlantic 2 Sea Zone with isAmphib=false
  Checking territory=White Sea Zone with isAmphib=false
  Checking territory=Normandy with isAmphib=false
  Checking territory=Northern Ireland with isAmphib=false
  Checking territory=Benelux with isAmphib=false
  Checking territory=Switzerland with isAmphib=false
  Checking territory=Baltic States with isAmphib=false
  Checking territory=Ireland with isAmphib=true
  Checking territory=Orkney with isAmphib=true
  Checking territory=Hebrides with isAmphib=true
  Checking territory=Shetland with isAmphib=true
  Checking territory=Norway with isAmphib=false
  Checking territory=Denmark with isAmphib=false
  Checking territory=Troms-Finnmark with isAmphib=true
  Checking territory=Iceland with isAmphib=true
  Checking territory=Trondheim-Narvik with isAmphib=false
  Checking territory=Faroe with isAmphib=true
Determine which territories to attack
  Current number of territories: 1
    territory=France, win%=96.875, TUVSwing=7.291666666666668, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
  Current number of territories: 2
    territory=France, win%=93.75, TUVSwing=6.541666666666668, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=95.45454545454545, TUVSwing=32.88636363636364, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany, Bomber owned by Germany]
  Current number of territories: 3
    territory=France, win%=92.70833333333334, TUVSwing=7.5625000000000036, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=0.0, TUVSwing=-999.0, hasRemainingLandUnit=false with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany]
    territory=Byelorussia, win%=0.0, TUVSwing=-999.0, hasRemainingLandUnit=false with attackers: [Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Bomber owned by Germany]
  Removing territory: Byelorussia
  Current number of territories: 3
    Adding attack transport to: Gulf of Bothnia Sea Zone
    territory=France, win%=97.91666666666666, TUVSwing=10.84375, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=89.77272727272727, TUVSwing=13.22727272727272, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=95.83333333333334, TUVSwing=24.55208333333333, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Bomber owned by Germany, Transport owned by Germany]
  Current number of territories: 4
    territory=France, win%=97.91666666666666, TUVSwing=11.114583333333332, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=84.26966292134831, TUVSwing=18.056179775280896, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=94.79166666666666, TUVSwing=25.96875, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Bomber owned by Germany, Air-Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=98.9795918367347, TUVSwing=31.34693877551021, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
  Current number of territories: 5
    territory=France, win%=94.79166666666666, TUVSwing=9.104166666666664, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=78.65168539325843, TUVSwing=17.584269662921358, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=90.625, TUVSwing=18.739583333333343, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Bomber owned by Germany, Air-Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=98.9795918367347, TUVSwing=29.775510204081627, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
  Current number of territories: 6
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Scotland, units=3, unloadFrom=North Sea Zone
    territory=France, win%=97.91666666666666, TUVSwing=10.166666666666668, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Medium-Tank owned by Germany]
    territory=Western Ukraine, win%=0.0, TUVSwing=-999.0, hasRemainingLandUnit=false with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=61.458333333333336, TUVSwing=1.4479166666666572, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=98.9795918367347, TUVSwing=30.428571428571423, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Scotland, win%=100.0, TUVSwing=8.463157894736845, hasRemainingLandUnit=true with attackers: [Fighter owned by Germany, Fighter owned by Germany, Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Removing territory: Scotland
  Current number of territories: 6
    Adding attack transport to: Gulf of Bothnia Sea Zone
    territory=France, win%=98.95833333333334, TUVSwing=10.895833333333332, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=74.15730337078652, TUVSwing=15.089887640449433, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=77.08333333333334, TUVSwing=7.020833333333336, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Air-Transport owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=97.95918367346938, TUVSwing=29.653061224489797, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Vichy, win%=65.65656565656566, TUVSwing=-2.81818181818182, hasRemainingLandUnit=false with attackers: [Bomber owned by Germany]
  Removing territory: Vichy
  Current number of territories: 6
    Adding attack transport to: North Atlantic 2 Sea Zone
    Adding attack transport to: North Atlantic 2 Sea Zone
    territory=France, win%=95.83333333333334, TUVSwing=8.895833333333332, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=71.91011235955057, TUVSwing=7.269662921348328, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=92.70833333333334, TUVSwing=24.125, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=84.6938775510204, TUVSwing=20.765306122448983, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Submarine owned by Germany]
    territory=North Atlantic 2 Sea Zone, win%=0.0, TUVSwing=-999.0, hasRemainingLandUnit=false with attackers: [Destroyer owned by Germany, Transport owned by Germany, Transport owned by Germany]
  Removing territory: North Atlantic 2 Sea Zone
  Current number of territories: 6
    territory=France, win%=92.70833333333334, TUVSwing=7.4374999999999964, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=76.40449438202246, TUVSwing=12.202247191011239, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=92.70833333333334, TUVSwing=19.78125, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=100.0, TUVSwing=30.06122448979592, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Battleship owned by Germany, Submarine owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=White Sea Zone, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
  Removing territory: White Sea Zone
  Current number of territories: 6
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    territory=France, win%=96.875, TUVSwing=9.947916666666668, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=86.51685393258427, TUVSwing=18.66292134831461, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=71.875, TUVSwing=15.395833333333336, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=95.91836734693877, TUVSwing=26.836734693877553, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=95.78947368421052, TUVSwing=-1.957894736842107, hasRemainingLandUnit=true with attackers: [Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Current number of territories: 7
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=92.70833333333334, TUVSwing=7.114583333333332, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=75.28089887640449, TUVSwing=13.539325842696627, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=65.625, TUVSwing=8.958333333333329, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=100.0, TUVSwing=32.40816326530613, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=96.84210526315789, TUVSwing=-2.810526315789474, hasRemainingLandUnit=true with attackers: [Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=93.87755102040816, TUVSwing=2.4693877551020424, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=95.83333333333334, TUVSwing=10.614583333333332, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=85.39325842696628, TUVSwing=25.067415730337075, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Bomber owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=62.5, TUVSwing=3.9791666666666714, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=98.9795918367347, TUVSwing=29.663265306122447, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=57.291666666666664, TUVSwing=-30.05208333333333, hasRemainingLandUnit=true with attackers: [Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=96.93877551020408, TUVSwing=3.704081632653063, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Benelux, win%=96.875, TUVSwing=9.25, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
  Removing territory: Benelux
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=94.79166666666666, TUVSwing=6.010416666666664, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=85.39325842696628, TUVSwing=28.70786516853933, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Bomber owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=66.66666666666666, TUVSwing=13.385416666666664, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=96.93877551020408, TUVSwing=28.418367346938773, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=58.333333333333336, TUVSwing=-29.76041666666666, hasRemainingLandUnit=true with attackers: [Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=93.87755102040816, TUVSwing=3.2346938775510203, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Switzerland, win%=95.83333333333334, TUVSwing=12.260416666666668, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
  Removing territory: Switzerland
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=95.83333333333334, TUVSwing=8.458333333333336, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=58.24175824175825, TUVSwing=-1.8901098901098834, hasRemainingLandUnit=false with attackers: [SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany, Bomber owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=63.541666666666664, TUVSwing=3.072916666666657, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=97.95918367346938, TUVSwing=28.275510204081627, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=55.208333333333336, TUVSwing=-33.59375, hasRemainingLandUnit=false with attackers: [Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=95.91836734693877, TUVSwing=3.020408163265307, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Baltic States, win%=59.79381443298969, TUVSwing=-5.216494845360824, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany]
  Removing territory: Baltic States
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Ireland, units=3, unloadFrom=Celtic Sea Zone
    Adding amphibious attack to Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=98.95833333333334, TUVSwing=10.427083333333336, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=78.65168539325843, TUVSwing=12.741573033707866, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=69.79166666666666, TUVSwing=11.572916666666671, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=96.93877551020408, TUVSwing=29.163265306122447, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=0.0, TUVSwing=-999.0, hasRemainingLandUnit=false with attackers: [Bomber owned by Germany, Air-Transport owned by Germany]
    territory=Northern Ireland, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
    territory=Ireland, win%=95.83333333333334, TUVSwing=12.427083333333329, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
  Removing territory: Ireland
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=95.83333333333334, TUVSwing=9.468750000000004, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=79.7752808988764, TUVSwing=18.70786516853933, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=63.541666666666664, TUVSwing=5.718749999999993, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=93.87755102040816, TUVSwing=26.428571428571438, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=96.84210526315789, TUVSwing=-2.8210526315789473, hasRemainingLandUnit=true with attackers: [Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=94.89795918367348, TUVSwing=2.704081632653061, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Orkney, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
  Removing territory: Orkney
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Hebrides, units=3, unloadFrom=Celtic Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    territory=France, win%=96.875, TUVSwing=9.0625, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=75.28089887640449, TUVSwing=14.606741573033702, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=64.58333333333334, TUVSwing=6.40625, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=94.89795918367348, TUVSwing=27.183673469387756, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=95.78947368421052, TUVSwing=-1.6631578947368446, hasRemainingLandUnit=true with attackers: [Air-Transport owned by Germany, Bomber owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Northern Ireland, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
    territory=Hebrides, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Removing territory: Hebrides
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Shetland, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    territory=France, win%=96.875, TUVSwing=10.0, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=74.15730337078652, TUVSwing=13.168539325842701, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=64.58333333333334, TUVSwing=8.46875, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=97.95918367346938, TUVSwing=29.142857142857146, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=97.89473684210527, TUVSwing=0.3578947368421055, hasRemainingLandUnit=true with attackers: [Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Northern Ireland, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
    territory=Shetland, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Removing territory: Shetland
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=95.83333333333334, TUVSwing=9.510416666666668, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=59.55056179775281, TUVSwing=-15.68539325842697, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Air-Transport owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=65.625, TUVSwing=9.197916666666664, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=96.93877551020408, TUVSwing=28.387755102040813, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=35.051546391752574, TUVSwing=-26.536082474226802, hasRemainingLandUnit=false with attackers: [Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=94.89795918367348, TUVSwing=2.591836734693878, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Norway, win%=79.59183673469387, TUVSwing=-2.2448979591836746, hasRemainingLandUnit=false with attackers: [Fighter owned by Germany, Bomber owned by Germany]
  Removing territory: Norway
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=95.83333333333334, TUVSwing=10.479166666666668, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=80.89887640449437, TUVSwing=23.573033707865164, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Bomber owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=69.79166666666666, TUVSwing=13.5625, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=95.91836734693877, TUVSwing=26.010204081632644, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=62.5, TUVSwing=-26.02083333333334, hasRemainingLandUnit=true with attackers: [Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=95.91836734693877, TUVSwing=3.7142857142857153, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Denmark, win%=90.81632653061224, TUVSwing=2.612244897959183, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, Fighter owned by Germany]
  Removing territory: Denmark
  Current number of territories: 8
Showing Hard AI settings window
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Troms-Finnmark, units=3, unloadFrom=Barents Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    territory=France, win%=96.875, TUVSwing=8.937500000000004, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=78.65168539325843, TUVSwing=14.280898876404493, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=61.458333333333336, TUVSwing=6.510416666666671, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=98.9795918367347, TUVSwing=30.724489795918373, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=96.84210526315789, TUVSwing=-0.621052631578948, hasRemainingLandUnit=true with attackers: [Air-Transport owned by Germany, Bomber owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Northern Ireland, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
    territory=Troms-Finnmark, win%=91.83673469387756, TUVSwing=2.908163265306124, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Removing territory: Troms-Finnmark
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=97.91666666666666, TUVSwing=8.593750000000004, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=76.40449438202246, TUVSwing=13.426966292134836, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=62.5, TUVSwing=4.979166666666671, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=95.91836734693877, TUVSwing=28.25510204081632, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=93.6842105263158, TUVSwing=-4.05263157894737, hasRemainingLandUnit=true with attackers: [Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=93.87755102040816, TUVSwing=2.6734693877551035, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Iceland, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
  Removing territory: Iceland
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=93.75, TUVSwing=7.239583333333332, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=70.78651685393258, TUVSwing=9.157303370786508, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=69.79166666666666, TUVSwing=10.197916666666664, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=97.95918367346938, TUVSwing=30.795918367346935, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=95.78947368421052, TUVSwing=-1.2526315789473692, hasRemainingLandUnit=true with attackers: [Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=94.89795918367348, TUVSwing=3.571428571428571, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Trondheim-Narvik, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
  Removing territory: Trondheim-Narvik
  Current number of territories: 8
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Faroe, units=3, unloadFrom=Norwegian Southern Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    territory=France, win%=96.875, TUVSwing=11.187500000000004, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=73.03370786516854, TUVSwing=9.955056179775283, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=67.70833333333334, TUVSwing=6.572916666666664, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=96.93877551020408, TUVSwing=27.83673469387756, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=96.84210526315789, TUVSwing=-2.063157894736843, hasRemainingLandUnit=true with attackers: [Air-Transport owned by Germany, Bomber owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
    territory=Northern Ireland, win%=0.0, TUVSwing=-1.0, hasRemainingLandUnit=false with attackers: []
    territory=Faroe, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Removing territory: Faroe
  Current number of territories: 7
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    territory=France, win%=97.91666666666666, TUVSwing=10.208333333333336, hasRemainingLandUnit=true with attackers: [Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    territory=Western Ukraine, win%=71.91011235955057, TUVSwing=7.2921348314606576, hasRemainingLandUnit=true with attackers: [Infantry owned by Germany, SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany]
    territory=Gulf of Bothnia Sea Zone, win%=58.333333333333336, TUVSwing=3.28125, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    territory=Bay of Biscay Sea Zone, win%=95.91836734693877, TUVSwing=27.132653061224495, hasRemainingLandUnit=true with attackers: [Destroyer owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true with attackers: [Cruiser owned by Germany]
    territory=Normandy, win%=95.78947368421052, TUVSwing=-4.252631578947369, hasRemainingLandUnit=true with attackers: [Bomber owned by Germany, Air-Transport owned by Germany, Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    territory=Northern Ireland, win%=95.91836734693877, TUVSwing=1.8163265306122458, hasRemainingLandUnit=true with attackers: [Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
  Final number of territories: 7
Check if we should try to hold attack territories
  France, CanHold=false, value=2.798764119958224, averageAttackFromValue=4.682780072989161
  Western Ukraine, value=26.43598286587976, averageAttackFromValue=11.574371202058007, MyAttackers=14, RemainingUnits=6
  Western Ukraine, CanHold=false, MyDefenders=6, EnemyAttackers=13, win%=100.0, EnemyTUVSwing=33.5, hasLandUnitRemaining=true
  Gulf of Bothnia Sea Zone, value=22.904066205950578, averageAttackFromValue=17.084848290088505, MyAttackers=8, RemainingUnits=3
  Gulf of Bothnia Sea Zone, CanHold=true, MyDefenders=3, EnemyAttackers=14, win%=5.154639175257731, EnemyTUVSwing=-2.4432989690721687, hasLandUnitRemaining=false
  Bay of Biscay Sea Zone, value=7.232359884981791, averageAttackFromValue=4.455443755644273, MyAttackers=10, RemainingUnits=6
  Bay of Biscay Sea Zone, CanHold=false, MyDefenders=6, EnemyAttackers=8, win%=93.61702127659575, EnemyTUVSwing=87.40425531914893, hasLandUnitRemaining=true
  Norwegian Northern Sea Zone, value=23.78877220850845, averageAttackFromValue=4.455443755644273, MyAttackers=6, RemainingUnits=6
  Norwegian Northern Sea Zone, CanHold=true, MyDefenders=6, EnemyAttackers=4, win%=18.75, EnemyTUVSwing=-18.83333333333333, hasLandUnitRemaining=false
  Normandy, value=1.6500077659770236, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Normandy, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-8.080808080808083, hasLandUnitRemaining=false
  Northern Ireland, value=0.0, averageAttackFromValue=NaN, MyAttackers=10, RemainingUnits=6
  Northern Ireland, CanHold=true, MyDefenders=6, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-15.111111111111114, hasLandUnitRemaining=false
Remove territories that aren't worth attacking
  Checking territory=France with isAmphib=false
  Checking territory=Western Ukraine with isAmphib=false
  Checking territory=Gulf of Bothnia Sea Zone with isAmphib=false
  Checking territory=Bay of Biscay Sea Zone with isAmphib=false
  Checking territory=Norwegian Northern Sea Zone with isAmphib=false
  Checking territory=Normandy with isAmphib=false
  Checking territory=Northern Ireland with isAmphib=false
Determine which territories to defend with one land unit
  Austria-Bohemia, added one land unit: Infantry owned by Germany
  East Prussia, added one land unit: Infantry owned by Germany
  West Germany, added one land unit: Anti-Air owned by Germany
Determine units to attack each territory with
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Normandy, units=3, unloadFrom=North Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    Territory=France, CanHold=true, MyDefenders=2, EnemyAttackers=1, win%=4.040404040404041, EnemyTUVSwing=-5.454545454545453, hasLandUnitRemaining=false
  territory=France, win%=98.95833333333334, TUVSwing=11.562499999999996, hasRemainingLandUnit=true, attackValue=78.86458333333334, territoryValue=67.0, allUnitsCanAttackOtherTerritory=true with attackers=[Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Bomber owned by Germany]
    Territory=Western Ukraine, CanHold=false, MyDefenders=3, EnemyAttackers=13, win%=100.0, EnemyTUVSwing=26.608247422680407, hasLandUnitRemaining=true
  territory=Western Ukraine, win%=93.18181818181817, TUVSwing=11.909090909090907, hasRemainingLandUnit=true, attackValue=0.7611683848797242, territoryValue=6.0, allUnitsCanAttackOtherTerritory=true with attackers=[SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany]
    Territory=Gulf of Bothnia Sea Zone, CanHold=true, MyDefenders=1, EnemyAttackers=14, win%=0.0, EnemyTUVSwing=-1.0, hasLandUnitRemaining=false
  territory=Gulf of Bothnia Sea Zone, win%=55.208333333333336, TUVSwing=3.4583333333333357, hasRemainingLandUnit=true, attackValue=4.458333333333336, territoryValue=0.0, allUnitsCanAttackOtherTerritory=true with attackers=[Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    Territory=Bay of Biscay Sea Zone, CanHold=false, MyDefenders=3, EnemyAttackers=8, win%=100.0, EnemyTUVSwing=65.78350515463919, hasLandUnitRemaining=true
  territory=Bay of Biscay Sea Zone, win%=97.95918367346938, TUVSwing=29.52040816326531, hasRemainingLandUnit=true, attackValue=-13.335261939827483, territoryValue=0.0, allUnitsCanAttackOtherTerritory=true with attackers=[Cruiser owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    Territory=Norwegian Northern Sea Zone, CanHold=false, MyDefenders=1, EnemyAttackers=4, win%=100.0, EnemyTUVSwing=16.0, hasLandUnitRemaining=true
  territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true, attackValue=0.43333333333333357, territoryValue=10.0, allUnitsCanAttackOtherTerritory=true with attackers=[Destroyer owned by Germany]
    Territory=Normandy, CanHold=false, MyDefenders=0, EnemyAttackers=1, win%=100.0, EnemyTUVSwing=0.1, hasLandUnitRemaining=true
  territory=Normandy, win%=39.175257731958766, TUVSwing=-22.103092783505154, hasRemainingLandUnit=false, attackValue=-17.252233676975944, territoryValue=10.0, allUnitsCanAttackOtherTerritory=true with attackers=[Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
    Territory=Northern Ireland, CanHold=true, MyDefenders=2, EnemyAttackers=1, win%=38.38383838383838, EnemyTUVSwing=3.0101010101010086, hasLandUnitRemaining=false
  territory=Northern Ireland, win%=93.87755102040816, TUVSwing=3.36734693877551, hasRemainingLandUnit=true, attackValue=5.176939462653749, territoryValue=3.0, allUnitsCanAttackOtherTerritory=true with attackers=[Artillery owned by Germany, Artillery owned by Germany, Infantry owned by Germany]
  Removing Normandy
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    Territory=France, CanHold=true, MyDefenders=2, EnemyAttackers=1, win%=6.0606060606060606, EnemyTUVSwing=-5.05050505050505, hasLandUnitRemaining=false
  territory=France, win%=98.95833333333334, TUVSwing=11.989583333333332, hasRemainingLandUnit=true, attackValue=79.29166666666667, territoryValue=67.0, allUnitsCanAttackOtherTerritory=true with attackers=[Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Bomber owned by Germany]
    Territory=Western Ukraine, CanHold=false, MyDefenders=4, EnemyAttackers=13, win%=100.0, EnemyTUVSwing=26.91666666666667, hasLandUnitRemaining=true
  territory=Western Ukraine, win%=87.5, TUVSwing=13.954545454545453, hasRemainingLandUnit=true, attackValue=2.260101010101007, territoryValue=6.0, allUnitsCanAttackOtherTerritory=true with attackers=[SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany]
    Territory=Gulf of Bothnia Sea Zone, CanHold=true, MyDefenders=1, EnemyAttackers=14, win%=0.0, EnemyTUVSwing=-1.0, hasLandUnitRemaining=false
  territory=Gulf of Bothnia Sea Zone, win%=58.333333333333336, TUVSwing=2.0104166666666714, hasRemainingLandUnit=true, attackValue=3.0104166666666714, territoryValue=0.0, allUnitsCanAttackOtherTerritory=true with attackers=[Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    Territory=Bay of Biscay Sea Zone, CanHold=false, MyDefenders=3, EnemyAttackers=8, win%=100.0, EnemyTUVSwing=64.77319587628867, hasLandUnitRemaining=true
  territory=Bay of Biscay Sea Zone, win%=98.9795918367347, TUVSwing=30.183673469387756, hasRemainingLandUnit=true, attackValue=-11.998457114804687, territoryValue=0.0, allUnitsCanAttackOtherTerritory=true with attackers=[Cruiser owned by Germany, Submarine owned by Germany, Battleship owned by Germany]
    Territory=Norwegian Northern Sea Zone, CanHold=false, MyDefenders=1, EnemyAttackers=4, win%=100.0, EnemyTUVSwing=16.0, hasLandUnitRemaining=true
  territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true, attackValue=0.43333333333333357, territoryValue=10.0, allUnitsCanAttackOtherTerritory=true with attackers=[Destroyer owned by Germany]
    Territory=Northern Ireland, CanHold=true, MyDefenders=5, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-5.838383838383841, hasLandUnitRemaining=false
  territory=Northern Ireland, win%=95.91836734693877, TUVSwing=2.928571428571429, hasRemainingLandUnit=true, attackValue=6.8061224489795915, territoryValue=3.0, allUnitsCanAttackOtherTerritory=true with attackers=[Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Removing Bay of Biscay Sea Zone
    Adding attack transport to: Gulf of Bothnia Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    Adding bombard to Northern Ireland, units=Battleship owned by Germany, bombardFrom=Celtic Sea Zone
    Territory=France, CanHold=true, MyDefenders=2, EnemyAttackers=1, win%=7.07070707070707, EnemyTUVSwing=-5.1515151515151505, hasLandUnitRemaining=false
  territory=France, win%=98.95833333333334, TUVSwing=11.593750000000004, hasRemainingLandUnit=true, attackValue=78.89583333333334, territoryValue=67.0, allUnitsCanAttackOtherTerritory=true with attackers=[Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Bomber owned by Germany]
    Territory=Western Ukraine, CanHold=false, MyDefenders=3, EnemyAttackers=13, win%=100.0, EnemyTUVSwing=25.814432989690715, hasLandUnitRemaining=true
  territory=Western Ukraine, win%=89.77272727272727, TUVSwing=11.852272727272734, hasRemainingLandUnit=true, attackValue=1.029014370509227, territoryValue=6.0, allUnitsCanAttackOtherTerritory=true with attackers=[SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany]
    Territory=Gulf of Bothnia Sea Zone, CanHold=true, MyDefenders=1, EnemyAttackers=14, win%=0.0, EnemyTUVSwing=-1.0, hasLandUnitRemaining=false
  territory=Gulf of Bothnia Sea Zone, win%=62.5, TUVSwing=4.687500000000007, hasRemainingLandUnit=true, attackValue=5.687500000000007, territoryValue=0.0, allUnitsCanAttackOtherTerritory=true with attackers=[Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Transport owned by Germany]
    Territory=Norwegian Northern Sea Zone, CanHold=true, MyDefenders=6, EnemyAttackers=4, win%=13.541666666666666, EnemyTUVSwing=-27.40625, hasLandUnitRemaining=false
  territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true, attackValue=21.1, territoryValue=20.0, allUnitsCanAttackOtherTerritory=true with attackers=[Destroyer owned by Germany]
    Territory=Northern Ireland, CanHold=true, MyDefenders=3, EnemyAttackers=1, win%=12.121212121212121, EnemyTUVSwing=-0.6868686868686851, hasLandUnitRemaining=false
  territory=Northern Ireland, win%=97.95918367346938, TUVSwing=6.071428571428571, hasRemainingLandUnit=true, attackValue=10.010204081632653, territoryValue=3.0, allUnitsCanAttackOtherTerritory=true with attackers=[Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
  Removing Gulf of Bothnia Sea Zone
    Adding amphibious attack to Northern Ireland, units=3, unloadFrom=Celtic Sea Zone
    Adding bombard to Northern Ireland, units=Battleship owned by Germany, bombardFrom=Celtic Sea Zone
    Territory=France, CanHold=true, MyDefenders=2, EnemyAttackers=1, win%=5.05050505050505, EnemyTUVSwing=-5.1515151515151505, hasLandUnitRemaining=false
  territory=France, win%=96.875, TUVSwing=8.697916666666668, hasRemainingLandUnit=true, attackValue=74.60416666666667, territoryValue=67.0, allUnitsCanAttackOtherTerritory=true with attackers=[Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fighter owned by Germany]
    Territory=Western Ukraine, CanHold=false, MyDefenders=3, EnemyAttackers=13, win%=100.0, EnemyTUVSwing=26.35051546391753, hasLandUnitRemaining=true
  territory=Western Ukraine, win%=92.04545454545455, TUVSwing=12.38636363636364, hasRemainingLandUnit=true, attackValue=1.342080599812558, territoryValue=6.0, allUnitsCanAttackOtherTerritory=true with attackers=[SS-Infantry owned by Germany, Artillery owned by Germany, SP-Artillery owned by Germany, Light-Tank owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Infantry owned by Germany, Tank-Destroyer owned by Germany, Fighter owned by Germany, Bomber owned by Germany, Air-Transport owned by Germany]
    Territory=Norwegian Northern Sea Zone, CanHold=true, MyDefenders=6, EnemyAttackers=4, win%=15.625, EnemyTUVSwing=-22.833333333333343, hasLandUnitRemaining=false
  territory=Norwegian Northern Sea Zone, win%=100.0, TUVSwing=0.1, hasRemainingLandUnit=true, attackValue=21.1, territoryValue=20.0, allUnitsCanAttackOtherTerritory=true with attackers=[Destroyer owned by Germany]
    Territory=Northern Ireland, CanHold=true, MyDefenders=3, EnemyAttackers=1, win%=11.11111111111111, EnemyTUVSwing=-2.2222222222222214, hasLandUnitRemaining=false
  territory=Northern Ireland, win%=96.93877551020408, TUVSwing=6.285714285714285, hasRemainingLandUnit=true, attackValue=10.193877551020407, territoryValue=3.0, allUnitsCanAttackOtherTerritory=true with attackers=[Artillery owned by Germany, Artillery owned by Germany, Artillery owned by Germany]
Remove territories where transports are exposed
  Checking territory=Norwegian Northern Sea Zone with tranports size=0
  Checking territory=El Alamein with tranports size=0
  Checking territory=Gibraltar with tranports size=0
  Checking territory=Tunesia with tranports size=0
  Checking territory=Faroe with tranports size=0
  Checking territory=Benelux with tranports size=0
  Checking territory=Troms-Finnmark with tranports size=0
  Checking territory=Western Ukraine with tranports size=0
  Checking territory=England with tranports size=0
  Checking territory=Scotland with tranports size=0
  Checking territory=Portugal with tranports size=0
  Checking territory=Iceland with tranports size=0
  Checking territory=Greece with tranports size=0
  Checking territory=Ireland with tranports size=0
  Checking territory=Algeria with tranports size=0
  Checking territory=Baltic States with tranports size=0
  Checking territory=France with tranports size=0
  Checking territory=Istanbul with tranports size=0
  Checking territory=Aegean Sea Zone with tranports size=0
  Checking territory=Gulf of Bothnia Sea Zone with tranports size=0
  Checking territory=Orkney with tranports size=0
  Checking territory=Trondheim-Narvik with tranports size=0
  Checking territory=Eastern Ukraine with tranports size=0
  Checking territory=Central Turkey with tranports size=0
  Checking territory=Byelorussia with tranports size=0
  Checking territory=Leningrad with tranports size=0
  Checking territory=Hebrides with tranports size=0
  Checking territory=Northern Ireland with tranports size=1
    Celtic Sea Zone, EnemyAttackers=24, MaxDefenders=5, MaxEnemyTUVSwing=262.62105263157895, MinDefenders=2, MinEnemyTUVSwing=226.67346938775512
  Removing amphib territory: Northern Ireland, enemyTUVSwing=226.67346938775512, attackValue=8.744897959183673
  Checking territory=Vichy with tranports size=0
  Checking territory=Switzerland with tranports size=0
  Checking territory=Stalingrad with tranports size=0
  Checking territory=North Atlantic 2 Sea Zone with tranports size=0
  Checking territory=Azov Sea Zone with tranports size=0
  Checking territory=Norway with tranports size=0
  Checking territory=Central Russia with tranports size=0
  Checking territory=Shetland with tranports size=0
  Checking territory=Bay of Biscay Sea Zone with tranports size=0
  Checking territory=Denmark with tranports size=0
  Checking territory=Algerian Desert with tranports size=0
  Checking territory=Ankara with tranports size=0
  Checking territory=Normandy with tranports size=0
  Checking territory=Corsica with tranports size=0
  Checking territory=White Sea Zone with tranports size=0
Check capital defenses after attack moves
Find max purchase defenders for Berlin
  Best defense option: Medium-Tank
  Potential purchased defenders: [Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany]
    Remaining territories to attack=[France, Western Ukraine, Norwegian Northern Sea Zone, Northern Ireland]
    Current capital result hasLandUnitRemaining=false, TUVSwing=-56.363636363636374, defenders=60, attackers=1
  Can hold capital: Berlin
Strafing territories: [Leningrad]
Logging results
  Prioritized territories:
      13.96875  139.84375  France
      31.999999999999986  40.999999999999986  Western Ukraine
      0.1  20.1  Norwegian Northern Sea Zone
      -0.8979591836734642  2.102040816326536  Northern Ireland
  Territories that can be attacked:
    1. ---Norwegian Northern Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        1 Destroyer
        2 Transport
        1 Battleship
      --- My max bombard units ---
      --- My actual units ---
        1 Destroyer
      --- Enemy units ---
      --- Enemy Counter Attack Units ---
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Battleship
      --- Enemy Counter Bombard Units ---
    2. ---El Alamein
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    3. ---Gibraltar
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        2 Infantry
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    4. ---Tunesia
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Colony
        1 SS-Potential
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    5. ---Faroe
      --- My max units ---
        1 Bomber
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    6. ---Benelux
      --- My max units ---
        2 Fighter
        1 Bomber
        22 Infantry
        1 Air-Transport
        2 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        1 Tank-Destroyer
        5 Artillery
        7 Mech-Inf
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Artillery
        1 SS-Potential
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    7. ---Troms-Finnmark
      --- My max units ---
        1 Bomber
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    8. ---Western Ukraine
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        3 Infantry
        1 SS-Infantry
        1 Light-Tank
        1 SP-Artillery
        1 Tank-Destroyer
        1 Artillery
        2 Mech-Inf
      --- My max bombard units ---
      --- My actual units ---
        1 Fighter
        1 Bomber
        2 Infantry
        1 Air-Transport
        1 SS-Infantry
        1 SP-Artillery
        1 Light-Tank
        1 Tank-Destroyer
        1 Artillery
        2 Mech-Inf
      --- Enemy units ---
        9 Infantry
        1 Light-Tank
        1 SS-Potential
        1 Flag
      --- Enemy Counter Attack Units ---
        9 Infantry
        1 SP-Artillery
        1 Light-Tank
        1 Artillery
        1 Mech-Inf
      --- Enemy Counter Bombard Units ---
    9. ---England
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        8 Infantry
        1 Light-Tank
        1 SP-Artillery
        1 Anti-Air
        1 Medium-Tank
        1 Factory
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    10. ---Scotland
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        3 Infantry
        1 Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
        8 Infantry
        1 Light-Tank
        1 SP-Artillery
        1 Anti-Air
        1 Medium-Tank
      --- Enemy Counter Bombard Units ---
    11. ---Portugal
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        2 Infantry
        1 Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    12. ---Iceland
      --- My max units ---
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    13. ---Greece
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 SP-Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    14. ---Ireland
      --- My max units ---
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Light-Tank
        1 Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    15. ---Algeria
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fuel-Barrel
        1 Infantry
        1 Colonial-Infantry
        1 Colony
        1 Flag
        1 Mech-Inf
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    16. ---Baltic States
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        3 Infantry
        1 SS-Infantry
        1 Light-Tank
        1 SP-Artillery
        1 Tank-Destroyer
        4 Artillery
        2 Mech-Inf
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Artillery
        1 SS-Potential
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
        5 Infantry
        1 SP-Artillery
        1 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        2 Artillery
      --- Enemy Counter Bombard Units ---
    17. ---France
      --- My max units ---
        2 Fighter
        1 Bomber
        22 Infantry
        1 Air-Transport
        2 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        1 Tank-Destroyer
        5 Artillery
        7 Mech-Inf
      --- My max bombard units ---
      --- My actual units ---
        1 Fighter
        3 Infantry
      --- Enemy units ---
        1 Infantry
        1 Artillery
        1 SS-Potential
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Infantry
      --- Enemy Counter Bombard Units ---
    18. ---Istanbul
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    19. ---Aegean Sea Zone
      --- My max units ---
        1 Bomber
        2 Submarine
        3 Transport
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        2 Cruiser
        1 Destroyer
        1 Battleship
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    20. ---Gulf of Bothnia Sea Zone
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Cruiser
        1 Air-Transport
        1 Submarine
        1 Destroyer
        1 Transport
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Cruiser
        1 Submarine
        2 Patrol-Boat
      --- Enemy Counter Attack Units ---
        1 Fighter
        5 Infantry
        1 SP-Artillery
        1 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        3 Artillery
        1 Mech-Inf
      --- Enemy Counter Bombard Units ---
    21. ---Orkney
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    22. ---Trondheim-Narvik
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Iron-Ore
        1 Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    23. ---Eastern Ukraine
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        2 Fuel-Barrel
        1 Infantry
        1 Iron-Ore
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    24. ---Central Turkey
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    25. ---Byelorussia
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        3 Infantry
        1 SS-Infantry
        1 Light-Tank
        1 SP-Artillery
        1 Tank-Destroyer
        1 Artillery
        2 Mech-Inf
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        8 Infantry
        1 Artillery
        1 SS-Potential
        1 Flag
        1 Mech-Inf
      --- Enemy Counter Attack Units ---
        1 Fighter
        13 Infantry
        1 SP-Artillery
        1 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        2 Artillery
        1 Commissar
      --- Enemy Counter Bombard Units ---
    26. ---Leningrad
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        5 Infantry
        1 Light-Tank
        1 Anti-Air
        1 Factory
        2 Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    27. ---Hebrides
      --- My max units ---
        1 Bomber
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    28. ---Northern Ireland
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    29. ---Vichy
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    30. ---Switzerland
      --- My max units ---
        2 Fighter
        1 Bomber
        26 Infantry
        1 Air-Transport
        2 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        1 Tank-Destroyer
        5 Artillery
        7 Mech-Inf
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        3 Infantry
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    31. ---Stalingrad
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        2 Fuel-Barrel
        1 Infantry
        1 Anti-Air
        1 Factory
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    32. ---North Atlantic 2 Sea Zone
      --- My max units ---
        1 Bomber
        1 Cruiser
        1 Submarine
        1 Destroyer
        2 Transport
        1 Battleship
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Battleship
        3 Patrol-Boat
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    33. ---Azov Sea Zone
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Cruiser
        1 Submarine
        1 Patrol-Boat
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    34. ---Norway
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Fuel-Barrel
        1 Infantry
        1 Artillery
        1 SS-Potential
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    35. ---Central Russia
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        7 Infantry
        1 SP-Artillery
        1 Flag
        1 Commissar
        1 Commissariat
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    36. ---Shetland
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    37. ---Bay of Biscay Sea Zone
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Cruiser
        1 Submarine
        1 Destroyer
        2 Transport
        1 Battleship
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Cruiser
        1 Destroyer
      --- Enemy Counter Attack Units ---
        1 Fighter
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Battleship
        3 Patrol-Boat
      --- Enemy Counter Bombard Units ---
    38. ---Denmark
      --- My max units ---
        2 Fighter
        1 Bomber
        23 Infantry
        1 Air-Transport
        1 SS-Infantry
        2 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        1 Tank-Destroyer
        6 Artillery
        7 Mech-Inf
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 SS-Potential
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Fighter
      --- Enemy Counter Bombard Units ---
    39. ---Algerian Desert
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    40. ---Ankara
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        1 Infantry
        1 Iron-Ore
        1 Flag
        1 Mech-Inf
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    41. ---Normandy
      --- My max units ---
        1 Bomber
        2 Fighter
        1 Air-Transport
        1 Infantry
        5 Artillery
      --- My max bombard units ---
        1 Battleship
      --- My actual units ---
      --- Enemy units ---
        1 Fuel-Barrel
        1 Infantry
        1 Anti-Air
        1 Factory
        1 Artillery
        1 Flag
      --- Enemy Counter Attack Units ---
        1 Infantry
      --- Enemy Counter Bombard Units ---
    42. ---Corsica
      --- My max units ---
        1 Bomber
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Flag
      --- Enemy Counter Attack Units ---
      --- Enemy Counter Bombard Units ---
    43. ---White Sea Zone
      --- My max units ---
        1 Bomber
        1 Submarine
      --- My max bombard units ---
      --- My actual units ---
      --- Enemy units ---
        1 Cruiser
        1 Submarine
      --- Enemy Counter Attack Units ---
        1 Fighter
        3 Infantry
        1 Light-Tank
        1 Medium-Tank
      --- Enemy Counter Bombard Units ---
Germany time for nonCombat=false time=16479
Purchase Options
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyCommissar | cost=5 | moves=1 | quantity=1 | hitPointEfficiency=0.24800000000000005 | attackEfficiency=0.76 | defenseEfficiency=0.76 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: Infantry, Commissar, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Commissar, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: Infantry, Commissar, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Germany checking retreat from territory Western Ukraine, attackers=7, defenders=8, submerge=false, attacker=true, isStrafing=false
  Germany retreating from territory Western Ukraine to East Prussia because AttackValue=-12.387096774193552, TUVSwing=-12.387096774193552, possibleTerritories=1
Purchase Options
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyColonial-Infantry | cost=6 | moves=1 | quantity=1 | hitPointEfficiency=0.24666666666666667 | attackEfficiency=0.9333333333333335 | defenseEfficiency=0.9333333333333332 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: Infantry, Colonial-Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Colonial-Infantry, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: Infantry, Colonial-Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Germany checking retreat from territory France, attackers=3, defenders=1, submerge=false, attacker=true, isStrafing=false
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Germany checking retreat from territory France, attackers=3, defenders=1, submerge=false, attacker=true, isStrafing=false
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Starting non-combat move phase
Find units that can't move
Find max purchase defenders for Berlin
  Best defense option: Medium-Tank
  Potential purchased defenders: [Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany]
Find max purchase defenders for West Germany
  Best defense option: Medium-Tank
  Potential purchased defenders: [Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany]
    Norwegian Northern Sea Zone has units that can't move: [Destroyer owned by Germany]
    Libya has units that can't move: [Fighter owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Colonial-Infantry owned by Italy, Light-Tank owned by Italy, Medium-Tank owned by Italy, Factory owned by Italy, Colony owned by Italy, Artillery owned by Italy, Flag owned by Italy, SS-Potential owned by Germany]
    Sweden has units that can't move: [SS-Potential owned by Germany]
    Austria-Bohemia has units that can't move: [Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Flag owned by Germany]
    East Prussia has units that can't move: [SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Light-Tank owned by Germany, Tank-Destroyer owned by Germany, SP-Artillery owned by Germany]
    Slovakia has units that can't move: [Infantry owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany]
    France has units that can't move: [SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany]
    Bulgaria has units that can't move: [Fuel-Barrel owned by Balkan, Fuel-Barrel owned by Balkan, Infantry owned by Balkan, Iron-Ore owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany]
    Croatia has units that can't move: [Infantry owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany]
    Tobruk has units that can't move: [Fuel-Barrel owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Colonial-Infantry owned by Italy, Flag owned by Italy, Mech-Inf owned by Italy]
    Romania has units that can't move: [Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Factory owned by Balkan, Flag owned by Balkan, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany]
    Hungary has units that can't move: [Infantry owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany]
    Sardinia has units that can't move: [Flag owned by Italy]
    Berlin has units that can't move: [Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Synthetic-Fuel owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany]
    West Germany has units that can't move: [Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Submarine-Pen owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany]
    Adriatic Sea Zone has units that can't move: [Cruiser owned by Italy, Destroyer owned by Italy, Submarine owned by Italy, Transport owned by Italy, Battleship owned by Italy]
    Northern Spain has units that can't move: [Iron-Ore owned by Germany]
    Spain has units that can't move: [SS-Potential owned by Germany]
    Albania has units that can't move: [Infantry owned by Italy, Flag owned by Italy, SS-Potential owned by Germany]
    Baltic Sea Zone has units that can't move: [Submarine owned by Germany, Destroyer owned by Germany, Cruiser owned by Germany]
    Sicily has units that can't move: [Flag owned by Italy]
    Italy has units that can't move: [Fighter owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Infantry owned by Italy, Iron-Ore owned by Italy, Anti-Air owned by Italy, Factory owned by Italy, Flag owned by Italy, Submarine-Pen owned by Italy, SS-Potential owned by Germany]
Find non-combat infra units that can move
Determine which territories to defend with one land unit
Find max enemy attackers and if territories can be held
  Territory=Norwegian Northern Sea Zone, CanHold=true, MaxDefenders=5, EnemyAttackers=4, minTUVSwing=16.0, win%=41.66666666666667, EnemyTUVSwing=13.906249999999986, hasLandUnitRemaining=true, holdValue=12.5
  Can't hold Territory=Tangier, MaxDefenders=1, EnemyAttackers=3, minTUVSwing=0.1, win%=80.8080808080808, EnemyTUVSwing=7.151515151515149, hasLandUnitRemaining=true, holdValue=2.5
  Territory=Barents Sea Zone, CanHold=true, MaxDefenders=4, EnemyAttackers=3, minTUVSwing=0.1, win%=22.68041237113402, EnemyTUVSwing=-11.082474226804123, hasLandUnitRemaining=false, holdValue=12.5
  Can't hold Territory=Greenland Sea Zone, MaxDefenders=4, EnemyAttackers=8, minTUVSwing=0.1, win%=100.0, EnemyTUVSwing=90.25, hasLandUnitRemaining=true, holdValue=12.5
  Territory=Svealand, CanHold=true, MaxDefenders=2, EnemyAttackers=1, minTUVSwing=-1.0, win%=1.0101010101010102, EnemyTUVSwing=-0.30303030303030454, hasLandUnitRemaining=false, holdValue=6.25
  Territory=Libya, CanHold=true, MinDefenders=21, EnemyAttackers=3, win%=0.0, EnemyTUVSwing=-56.96907216494844, hasLandUnitRemaining=false
  Territory=Gotland, CanHold=true since has no enemy attackers
  Territory=Sweden, CanHold=true, MinDefenders=1, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-1.0, hasLandUnitRemaining=false
  Territory=Austria-Bohemia, CanHold=true, MinDefenders=5, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-1.0, hasLandUnitRemaining=false
  Can't hold Territory=Denmark Strait Sea Zone, MaxDefenders=1, EnemyAttackers=8, minTUVSwing=0.1, win%=100.0, EnemyTUVSwing=25.0, hasLandUnitRemaining=true, holdValue=3.125
  Territory=East Prussia, CanHold=true, MaxDefenders=29, EnemyAttackers=20, minTUVSwing=27.21052631578948, win%=0.0, EnemyTUVSwing=-102.4375, hasLandUnitRemaining=false, holdValue=40.75
  Territory=Slovakia, CanHold=true since has no enemy attackers
  Territory=France, CanHold=true, MaxDefenders=34, EnemyAttackers=4, minTUVSwing=4.916666666666664, win%=0.0, EnemyTUVSwing=-33.666666666666686, hasLandUnitRemaining=false, holdValue=41.375
  Territory=Bulgaria, CanHold=true, MinDefenders=6, EnemyAttackers=1, win%=48.484848484848484, EnemyTUVSwing=-7.828282828282828, hasLandUnitRemaining=false
  Territory=Mallorca, CanHold=true since has no enemy attackers
  Territory=Croatia, CanHold=true, MinDefenders=3, EnemyAttackers=1, win%=57.57575757575758, EnemyTUVSwing=-2.9090909090909083, hasLandUnitRemaining=false
  Territory=Tobruk, CanHold=true, MinDefenders=7, EnemyAttackers=2, win%=3.061224489795918, EnemyTUVSwing=-21.795918367346935, hasLandUnitRemaining=false
  Can't hold Territory=Tyrrhenian Sea Zone, MaxDefenders=5, EnemyAttackers=5, minTUVSwing=0.1, win%=100.0, EnemyTUVSwing=88.05263157894737, hasLandUnitRemaining=true, holdValue=13.75
  Territory=Romania, CanHold=true, MaxDefenders=23, EnemyAttackers=10, minTUVSwing=24.111111111111114, win%=66.66666666666666, EnemyTUVSwing=29.299999999999997, hasLandUnitRemaining=true, holdValue=14.0625
  Can't hold Territory=Norwegian Southern Sea Zone, MaxDefenders=4, EnemyAttackers=5, minTUVSwing=0.1, win%=93.75, EnemyTUVSwing=68.59375, hasLandUnitRemaining=true, holdValue=12.5
  Territory=Hungary, CanHold=true, MaxDefenders=25, EnemyAttackers=10, minTUVSwing=6.185567010309285, win%=0.0, EnemyTUVSwing=-45.611111111111114, hasLandUnitRemaining=false, holdValue=38.25
  Territory=Sardinia, CanHold=true since has no enemy attackers
  Can't hold Territory=Celtic Sea Zone, MaxDefenders=4, EnemyAttackers=25, minTUVSwing=0.1, win%=100.0, EnemyTUVSwing=269.8958333333333, hasLandUnitRemaining=true, holdValue=12.5
  Territory=Berlin, CanHold=true, MinDefenders=17, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-51.43434343434343, hasLandUnitRemaining=false
  Territory=West Germany, CanHold=true, MinDefenders=13, EnemyAttackers=1, win%=0.0, EnemyTUVSwing=-44.4040404040404, hasLandUnitRemaining=false
  Territory=Adriatic Sea Zone, CanHold=true, MaxDefenders=9, EnemyAttackers=5, minTUVSwing=59.03125, win%=13.684210526315791, EnemyTUVSwing=-19.347368421052636, hasLandUnitRemaining=false, holdValue=13.75
  Can't hold Territory=Northern Spain, MaxDefenders=2, EnemyAttackers=4, minTUVSwing=0.1, win%=95.91836734693877, EnemyTUVSwing=9.54081632653061, hasLandUnitRemaining=true, holdValue=2.5
  Territory=Spain, CanHold=true, MaxDefenders=2, EnemyAttackers=2, minTUVSwing=0.1, win%=64.28571428571429, EnemyTUVSwing=1.4795918367346932, hasLandUnitRemaining=true, holdValue=2.5
  Territory=Albania, CanHold=true, MinDefenders=3, EnemyAttackers=1, win%=51.515151515151516, EnemyTUVSwing=-4.222222222222222, hasLandUnitRemaining=false
  Can't hold Territory=Baltic Sea Zone, MaxDefenders=3, EnemyAttackers=4, minTUVSwing=28.591836734693878, win%=89.69072164948454, EnemyTUVSwing=37.97938144329897, hasLandUnitRemaining=true, holdValue=2.5
  Territory=Sicily, CanHold=true since has no enemy attackers
  Territory=Mediterranean Sea Zone, CanHold=true, MaxDefenders=5, EnemyAttackers=6, minTUVSwing=0.1, win%=10.526315789473683, EnemyTUVSwing=7.93684210526316, hasLandUnitRemaining=false, holdValue=13.75
  Can't hold Territory=North Sea Zone, MaxDefenders=4, EnemyAttackers=21, minTUVSwing=0.1, win%=91.66666666666666, EnemyTUVSwing=225.98958333333331, hasLandUnitRemaining=true, holdValue=12.5
  Territory=Italy, CanHold=true, MinDefenders=12, EnemyAttackers=1, win%=1.0101010101010102, EnemyTUVSwing=-40.62626262626263, hasLandUnitRemaining=false
Prioritizing territories to try to defend
  Removing territory=Berlin, value=1463.5500000000002, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=-51.43434343434343, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Libya, value=653.25, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=-56.96907216494844, hasRemainingLandUnit=false, maxEnemyUnits=3
  Removing territory=Italy, value=649.0, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=-40.62626262626263, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=West Germany, value=171.55, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=-44.4040404040404, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Baltic Sea Zone, value=30.5, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=28.591836734693878, hasRemainingLandUnit=true, maxEnemyUnits=4
  Removing territory=Austria-Bohemia, value=17.35, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=false, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Bulgaria, value=16.7, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=false, tuvSwing=-7.828282828282828, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Tobruk, value=15.525, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=-21.795918367346935, hasRemainingLandUnit=false, maxEnemyUnits=2
  Removing territory=Croatia, value=13.6, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=false, tuvSwing=-2.9090909090909083, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Slovakia, value=12.1, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=false, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=0
  Removing territory=Northern Spain, value=12.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=true, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=4
  Removing territory=Albania, value=11.75, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=false, tuvSwing=-4.222222222222222, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Spain, value=9.0, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=true, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=2
  Removing territory=Sweden, value=8.0, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=true, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Svealand, value=4.25, CanHold=true, isLandAndCanOnlyBeAttackedByAir=true, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=true, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=1
  Removing territory=Tangier, value=4.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=true, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=3
  Removing territory=Sardinia, value=2.25, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=true, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=0
  Removing territory=Sicily, value=2.25, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=true, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=0
  Removing territory=Gotland, value=1.0, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=true, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=0
  Removing territory=Mallorca, value=1.0, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=true, canAlreadyBeHeld=true, isNotFactoryAndHasNoEnemyNeighbors=true, isNotFactoryAndOnlyAmphib=true, tuvSwing=-1.0, hasRemainingLandUnit=false, maxEnemyUnits=0
  Removing territory=Barents Sea Zone, value=0.0, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=3
  Removing territory=Greenland Sea Zone, value=0.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=8
  Removing territory=Denmark Strait Sea Zone, value=0.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=8
  Removing territory=Tyrrhenian Sea Zone, value=0.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=5
  Removing territory=Norwegian Southern Sea Zone, value=0.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=5
  Removing territory=Celtic Sea Zone, value=0.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=25
  Removing territory=Mediterranean Sea Zone, value=0.0, CanHold=true, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=6
  Removing territory=North Sea Zone, value=0.0, CanHold=false, isLandAndCanOnlyBeAttackedByAir=false, isNotFactoryAndShouldHold=false, canAlreadyBeHeld=false, isNotFactoryAndHasNoEnemyNeighbors=false, isNotFactoryAndOnlyAmphib=false, tuvSwing=0.1, hasRemainingLandUnit=true, maxEnemyUnits=21
  Value=482.0, Romania
  Value=172.5, France
  Value=43.25, East Prussia
  Value=29.0, Adriatic Sea Zone
  Value=28.0, Norwegian Northern Sea Zone
  Value=15.15, Hungary
Determine units to defend territories with
  Current number of territories: 1
  territory=Romania, win%=64.44444444444444, TUVSwing=25.78888888888889, hasRemainingLandUnit=true, holdValue=14.0625, minTUVSwing=24.111111111111114, hasHighStrategicValue=true, defenders=[Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Factory owned by Balkan, Flag owned by Balkan, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
    Berlin, current enemy land strengthDifference=-36.04023347238956, enemySize=22, alliedSize=88
  Current number of territories: 2
  territory=Romania, win%=68.88888888888889, TUVSwing=26.299999999999997, hasRemainingLandUnit=true, holdValue=14.0625, minTUVSwing=24.111111111111114, hasHighStrategicValue=true, defenders=[Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Factory owned by Balkan, Flag owned by Balkan, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
  territory=France, win%=39.58333333333333, TUVSwing=-7.114583333333336, hasRemainingLandUnit=true, holdValue=2.375, minTUVSwing=4.916666666666664, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany], attackers=[Infantry owned by France, Infantry owned by France, Anti-Air owned by France, Artillery owned by France]
    Berlin, current enemy land strengthDifference=-34.933439952341956, enemySize=22, alliedSize=86
  Current number of territories: 3
  territory=Romania, win%=66.66666666666666, TUVSwing=25.74444444444444, hasRemainingLandUnit=true, holdValue=14.0625, minTUVSwing=24.111111111111114, hasHighStrategicValue=true, defenders=[Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Factory owned by Balkan, Flag owned by Balkan, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
  territory=France, win%=37.5, TUVSwing=-7.770833333333336, hasRemainingLandUnit=true, holdValue=2.375, minTUVSwing=4.916666666666664, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany], attackers=[Infantry owned by France, Infantry owned by France, Anti-Air owned by France, Artillery owned by France]
  territory=East Prussia, win%=35.0, TUVSwing=-43.03750000000002, hasRemainingLandUnit=false, holdValue=18.5, minTUVSwing=27.21052631578948, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Light-Tank owned by Germany, Tank-Destroyer owned by Germany, SP-Artillery owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, SP-Artillery owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Artillery owned by USSR]
  Current number of territories: 4
  territory=Romania, win%=66.66666666666666, TUVSwing=26.166666666666657, hasRemainingLandUnit=true, holdValue=14.0625, minTUVSwing=24.111111111111114, hasHighStrategicValue=true, defenders=[Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Factory owned by Balkan, Flag owned by Balkan, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
  territory=France, win%=37.5, TUVSwing=-6.958333333333329, hasRemainingLandUnit=false, holdValue=2.375, minTUVSwing=4.916666666666664, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany], attackers=[Infantry owned by France, Infantry owned by France, Anti-Air owned by France, Artillery owned by France]
  territory=East Prussia, win%=40.0, TUVSwing=-33.462500000000006, hasRemainingLandUnit=false, holdValue=18.5, minTUVSwing=27.21052631578948, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Light-Tank owned by Germany, Tank-Destroyer owned by Germany, SP-Artillery owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, SP-Artillery owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Artillery owned by USSR]
  territory=Adriatic Sea Zone, win%=15.789473684210526, TUVSwing=-34.599999999999994, hasRemainingLandUnit=false, holdValue=6.25, minTUVSwing=59.03125, hasHighStrategicValue=true, defenders=[Cruiser owned by Italy, Destroyer owned by Italy, Submarine owned by Italy, Transport owned by Italy, Battleship owned by Italy, Submarine owned by Germany, Submarine owned by Germany], attackers=[Cruiser owned by British-Colonies, Cruiser owned by British-Colonies, Battleship owned by British-Colonies, Destroyer owned by British-Colonies, Fighter owned by British-Colonies]
    Adding defend transport to: Norwegian Northern Sea Zone
    Adding defend transport to: Norwegian Northern Sea Zone
  Current number of territories: 5
  territory=Romania, win%=70.0, TUVSwing=27.63333333333334, hasRemainingLandUnit=true, holdValue=14.0625, minTUVSwing=24.111111111111114, hasHighStrategicValue=true, defenders=[Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Factory owned by Balkan, Flag owned by Balkan, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
  territory=France, win%=28.125, TUVSwing=-11.364583333333332, hasRemainingLandUnit=true, holdValue=2.375, minTUVSwing=4.916666666666664, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany], attackers=[Infantry owned by France, Infantry owned by France, Anti-Air owned by France, Artillery owned by France]
  territory=East Prussia, win%=45.0, TUVSwing=-31.612499999999983, hasRemainingLandUnit=false, holdValue=18.5, minTUVSwing=27.21052631578948, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Light-Tank owned by Germany, Tank-Destroyer owned by Germany, SP-Artillery owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, SP-Artillery owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Artillery owned by USSR]
  territory=Adriatic Sea Zone, win%=37.89473684210527, TUVSwing=4.515789473684222, hasRemainingLandUnit=true, holdValue=3.125, minTUVSwing=59.03125, hasHighStrategicValue=true, defenders=[Cruiser owned by Italy, Destroyer owned by Italy, Submarine owned by Italy, Transport owned by Italy, Battleship owned by Italy, Submarine owned by Germany], attackers=[Cruiser owned by British-Colonies, Cruiser owned by British-Colonies, Battleship owned by British-Colonies, Destroyer owned by British-Colonies, Fighter owned by British-Colonies]
  territory=Norwegian Northern Sea Zone, win%=15.625, TUVSwing=-21.08333333333333, hasRemainingLandUnit=false, holdValue=15.0, minTUVSwing=16.0, hasHighStrategicValue=true, defenders=[Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Battleship owned by Germany, Transport owned by Germany, Transport owned by Germany], attackers=[Submarine owned by Britain, Battleship owned by Britain, Destroyer owned by Britain, Cruiser owned by Britain]
    Adding defend transport to: Norwegian Northern Sea Zone
    Adding defend transport to: Norwegian Northern Sea Zone
  Current number of territories: 6
  territory=Romania, win%=65.55555555555556, TUVSwing=22.122222222222234, hasRemainingLandUnit=true, holdValue=14.0625, minTUVSwing=24.111111111111114, hasHighStrategicValue=true, defenders=[Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Infantry owned by Balkan, Factory owned by Balkan, Flag owned by Balkan, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Fighter owned by Germany, Air-Transport owned by Germany, Bomber owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
  territory=France, win%=33.33333333333333, TUVSwing=-9.218749999999996, hasRemainingLandUnit=true, holdValue=2.375, minTUVSwing=4.916666666666664, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany], attackers=[Infantry owned by France, Infantry owned by France, Anti-Air owned by France, Artillery owned by France]
  territory=East Prussia, win%=53.086419753086425, TUVSwing=-17.259259259259267, hasRemainingLandUnit=true, holdValue=17.25, minTUVSwing=27.21052631578948, hasHighStrategicValue=true, defenders=[SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Light-Tank owned by Germany, Tank-Destroyer owned by Germany, SP-Artillery owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, SP-Artillery owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Artillery owned by USSR]
  territory=Adriatic Sea Zone, win%=30.526315789473685, TUVSwing=-8.694736842105257, hasRemainingLandUnit=false, holdValue=3.125, minTUVSwing=59.03125, hasHighStrategicValue=true, defenders=[Cruiser owned by Italy, Destroyer owned by Italy, Submarine owned by Italy, Transport owned by Italy, Battleship owned by Italy, Submarine owned by Germany], attackers=[Cruiser owned by British-Colonies, Cruiser owned by British-Colonies, Battleship owned by British-Colonies, Destroyer owned by British-Colonies, Fighter owned by British-Colonies]
  territory=Norwegian Northern Sea Zone, win%=16.666666666666664, TUVSwing=-16.85416666666667, hasRemainingLandUnit=false, holdValue=15.0, minTUVSwing=16.0, hasHighStrategicValue=true, defenders=[Destroyer owned by Germany, Cruiser owned by Germany, Submarine owned by Germany, Battleship owned by Germany, Transport owned by Germany, Transport owned by Germany], attackers=[Submarine owned by Britain, Battleship owned by Britain, Destroyer owned by Britain, Cruiser owned by Britain]
  territory=Hungary, win%=32.22222222222222, TUVSwing=-23.633333333333326, hasRemainingLandUnit=false, holdValue=12.0, minTUVSwing=6.185567010309285, hasHighStrategicValue=true, defenders=[Infantry owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany], attackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
    Berlin, current enemy land strengthDifference=-28.17263561775708, enemySize=22, alliedSize=77
  Final number of territories: 6
Move units to best value territories
  Move amphib units
  Move empty transports to best loading territory
    Transport owned by Germany moved towards best loading territory Tangier and moved to Mediterranean Sea Zone
    Transport owned by Germany moved towards best loading territory Tangier and moved to Mediterranean Sea Zone
    Transport owned by Germany moved towards best loading territory Tangier and moved to Mediterranean Sea Zone
  Move remaining transports to safest territory
    Transport owned by Germany at Baltic Sea Zone, strengthDifference=36.57584298205619, attackers=[Patrol-Boat owned by USSR, Submarine owned by USSR, Cruiser owned by USSR, Patrol-Boat owned by USSR], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Cruiser owned by Germany]
    Transport owned by Germany moved to safest territory at Baltic Sea Zone, strengthDifference=36.57584298205619
  Move sea units
    Mediterranean Sea Zone TUVSwing=1057.723476431308, Win%=158.72347643130797, enemyAttackers=6, defenders=3
    Submarine owned by Germany added sea to defend transport at Mediterranean Sea Zone
  Checking if all sea moves are safe for [Mediterranean Sea Zone]
    Mediterranean Sea Zone unable to defend so removing with holdValue=6.510416666666668, minTUVSwing=0.1, defenders=[Transport owned by Germany, Transport owned by Germany, Transport owned by Germany, Submarine owned by Germany], enemyAttackers=[Cruiser owned by France, Mech-Inf owned by France, Infantry owned by France, Destroyer owned by France, Infantry owned by France, Colonial-Infantry owned by France]
    territory=Mediterranean Sea Zone, win%=28.125, TUVSwing=27.760416666666668, hasRemainingLandUnit=false, holdValue=6.510416666666668, minTUVSwing=0.1
Move units to best value territories
  Move amphib units
  Move empty transports to best loading territory
    Transport owned by Germany moved towards best loading territory Albania and moved to Adriatic Sea Zone
    Transport owned by Germany moved towards best loading territory Albania and moved to Adriatic Sea Zone
    Transport owned by Germany moved towards best loading territory Albania and moved to Adriatic Sea Zone
  Move remaining transports to safest territory
    Transport owned by Germany at Baltic Sea Zone, strengthDifference=36.57584298205619, attackers=[Patrol-Boat owned by USSR, Submarine owned by USSR, Cruiser owned by USSR, Patrol-Boat owned by USSR], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Cruiser owned by Germany]
    Transport owned by Germany moved to safest territory at Baltic Sea Zone, strengthDifference=36.57584298205619
  Move sea units
    Adriatic Sea Zone TUVSwing=-28.12631578947368, Win%=7.368421052631578, enemyAttackers=5, defenders=9
    Adriatic Sea Zone, value=8.334176806361237, seaValue=2.0, tValue=11.102219480439777, transports=3
    Submarine owned by Germany added to best territory Adriatic Sea Zone, value=8.334176806361237
  Checking if all sea moves are safe for [Adriatic Sea Zone]
    territory=Adriatic Sea Zone, win%=3.1578947368421053, TUVSwing=-41.30526315789473, hasRemainingLandUnit=false, holdValue=-62.55526315789473, minTUVSwing=-7.378947368421052
Move land units
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Light-Tank owned by Germany moved to East Prussia with value=20.374082273672293, numNeededTransportUnits=1
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Light-Tank owned by Germany moved to East Prussia with value=20.374082273672293, numNeededTransportUnits=1
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Medium-Tank owned by Germany moved to East Prussia with value=20.374082273672293, numNeededTransportUnits=1
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
    Infantry owned by Germany moved to Berlin with value=10.805183410523837, numNeededTransportUnits=11
Move land units to safest territory
Move air units
    Hungary, TUVSwing=-33.900000000000006, win%=16.666666666666664, defendingUnits=[Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Infantry owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany, Fighter owned by Germany], enemyAttackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Infantry owned by USSR, Artillery owned by USSR]
    Safe territory: Hungary, airValue=459.0, numLandAttackOptions=4, numSeaAttackTerritories=0, numEnemyAttackTerritories=3
    Sardinia, TUVSwing=-1.0, win%=0.0, defendingUnits=[Flag owned by Italy, Fighter owned by Germany], enemyAttackers=[]
    Safe territory: Sardinia, airValue=255.0, numLandAttackOptions=2, numSeaAttackTerritories=0, numEnemyAttackTerritories=4
    Berlin, TUVSwing=-54.646464646464665, win%=0.0, defendingUnits=[Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Synthetic-Fuel owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Fighter owned by Germany], enemyAttackers=[Fighter owned by Britain]
    Safe territory: Berlin, airValue=841.0, numLandAttackOptions=6, numSeaAttackTerritories=1, numEnemyAttackTerritories=2
    Svealand, TUVSwing=-3.030303030303031, win%=21.21212121212121, defendingUnits=[Fighter owned by Germany], enemyAttackers=[Fighter owned by Britain]
    Safe territory: Svealand, airValue=632.0, numLandAttackOptions=4, numSeaAttackTerritories=1, numEnemyAttackTerritories=1
    Libya, TUVSwing=-57.54639175257731, win%=0.0, defendingUnits=[Fighter owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Infantry owned by Italy, Colonial-Infantry owned by Italy, Light-Tank owned by Italy, Medium-Tank owned by Italy, Factory owned by Italy, Colony owned by Italy, Artillery owned by Italy, Flag owned by Italy, SS-Potential owned by Germany, Fighter owned by Germany], enemyAttackers=[Mech-Inf owned by France, Infantry owned by France, Infantry owned by France]
    Safe territory: Libya, airValue=297.5, numLandAttackOptions=3, numSeaAttackTerritories=1, numEnemyAttackTerritories=7
    Gotland, TUVSwing=-1.0, win%=0.0, defendingUnits=[Fighter owned by Germany], enemyAttackers=[]
    Safe territory: Gotland, airValue=416.0, numLandAttackOptions=2, numSeaAttackTerritories=1, numEnemyAttackTerritories=0
    West Germany, TUVSwing=-43.272727272727266, win%=0.0, defendingUnits=[Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Submarine-Pen owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Medium-Tank owned by Germany, Fighter owned by Germany], enemyAttackers=[Fighter owned by Britain]
    Safe territory: West Germany, airValue=980.0, numLandAttackOptions=7, numSeaAttackTerritories=1, numEnemyAttackTerritories=6
    Spain, TUVSwing=-0.5612244897959187, win%=54.08163265306123, defendingUnits=[SS-Potential owned by Germany, Fighter owned by Germany], enemyAttackers=[Infantry owned by Britain, Infantry owned by Britain]
    Safe territory: Spain, airValue=758.0, numLandAttackOptions=5, numSeaAttackTerritories=1, numEnemyAttackTerritories=4
    Sicily, TUVSwing=-1.0, win%=0.0, defendingUnits=[Flag owned by Italy, Fighter owned by Germany], enemyAttackers=[]
    Safe territory: Sicily, airValue=255.0, numLandAttackOptions=2, numSeaAttackTerritories=0, numEnemyAttackTerritories=4
    Sweden, TUVSwing=-3.424242424242424, win%=23.232323232323232, defendingUnits=[SS-Potential owned by Germany, Fighter owned by Germany], enemyAttackers=[Fighter owned by Britain]
    Safe territory: Sweden, airValue=882.0, numLandAttackOptions=6, numSeaAttackTerritories=1, numEnemyAttackTerritories=6
    Austria-Bohemia, TUVSwing=-9.242424242424244, win%=17.17171717171717, defendingUnits=[Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Fighter owned by Germany], enemyAttackers=[Fighter owned by Britain]
    Safe territory: Austria-Bohemia, airValue=545.0, numLandAttackOptions=5, numSeaAttackTerritories=0, numEnemyAttackTerritories=2
    East Prussia, TUVSwing=-108.875, win%=1.25, defendingUnits=[Anti-Air owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, SS-Infantry owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Mech-Inf owned by Germany, Artillery owned by Germany, Light-Tank owned by Germany, Light-Tank owned by Germany, Medium-Tank owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Light-Tank owned by Germany, Tank-Destroyer owned by Germany, SP-Artillery owned by Germany, Fighter owned by Germany], enemyAttackers=[Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, SP-Artillery owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Light-Tank owned by USSR, Infantry owned by USSR, Infantry owned by USSR, Mech-Inf owned by USSR, Artillery owned by USSR]
    Safe territory: East Prussia, airValue=683.0, numLandAttackOptions=4, numSeaAttackTerritories=1, numEnemyAttackTerritories=5
    Italy, TUVSwing=-42.36363636363636, win%=0.0, defendingUnits=[Fighter owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Fuel-Barrel owned by Italy, Infantry owned by Italy, Iron-Ore owned by Italy, Anti-Air owned by Italy, Factory owned by Italy, Flag owned by Italy, Submarine-Pen owned by Italy, SS-Potential owned by Germany, Fighter owned by Germany], enemyAttackers=[Infantry owned by France]
    Safe territory: Italy, airValue=877.0, numLandAttackOptions=6, numSeaAttackTerritories=1, numEnemyAttackTerritories=5
    Slovakia, TUVSwing=-1.0, win%=0.0, defendingUnits=[Infantry owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany, Fighter owned by Germany], enemyAttackers=[]
    Safe territory: Slovakia, airValue=439.0, numLandAttackOptions=4, numSeaAttackTerritories=0, numEnemyAttackTerritories=2
    Mallorca, TUVSwing=-1.0, win%=0.0, defendingUnits=[Fighter owned by Germany], enemyAttackers=[]
    Safe territory: Mallorca, airValue=339.0, numLandAttackOptions=3, numSeaAttackTerritories=0, numEnemyAttackTerritories=3
    Croatia, TUVSwing=-12.0, win%=5.05050505050505, defendingUnits=[Infantry owned by Balkan, Flag owned by Balkan, SS-Potential owned by Germany, Fighter owned by Germany], enemyAttackers=[Fighter owned by British-Colonies]
    Safe territory: Croatia, airValue=749.0, numLandAttackOptions=5, numSeaAttackTerritories=1, numEnemyAttackTerritories=2
  Fighter added to safe territory with most attack options West Germany, maxAirValue=980.0
Checking if capital has local land superiority with enemyDistance=2
    Berlin, current enemy land strengthDifference=-28.17263561775708, enemySize=22, alliedSize=77
Determine where to move infra units
  Creating factory move map
  Move infra AA units
Logging results
  Prioritized territories:
      13.972299372138188  Romania
      6.85528753727087  France
      20.374082273672293  East Prussia
      11.102219480439777  Adriatic Sea Zone
      25.25055940451957  Norwegian Northern Sea Zone
      12.775346092056202  Hungary
  Territories that can be attacked:
    1. ---Norwegian Northern Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        1 Destroyer
        2 Transport
        1 Battleship
      --- My max amphib units ---
      --- My actual units ---
        1 Cruiser
        1 Submarine
        1 Battleship
        2 Transport
      --- Enemy units ---
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Battleship
      --- Enemy bombard units ---
    2. ---Tangier
      --- My max units ---
        1 Fighter
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
        1 Colonial-Infantry
        1 Mech-Inf
      --- Enemy bombard units ---
    3. ---Barents Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        2 Transport
        1 Battleship
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        1 Cruiser
        1 Submarine
      --- Enemy bombard units ---
    4. ---Greenland Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        2 Transport
        1 Battleship
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Battleship
        3 Patrol-Boat
      --- Enemy bombard units ---
    5. ---Svealand
      --- My max units ---
        1 Bomber
        1 Fighter
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    6. ---Libya
      --- My max units ---
        1 Bomber
        2 Fighter
        2 Fuel-Barrel
        10 Infantry
        1 Light-Tank
        1 Colonial-Infantry
        1 Medium-Tank
        1 Colony
        1 Factory
        1 Artillery
        1 SS-Potential
        1 Flag
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        2 Infantry
        1 Mech-Inf
      --- Enemy bombard units ---
    7. ---Gotland
      --- My max units ---
        1 Bomber
        1 Fighter
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
      --- Enemy bombard units ---
    8. ---Sweden
      --- My max units ---
        1 Bomber
        1 Fighter
        1 SS-Potential
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    9. ---Austria-Bohemia
      --- My max units ---
        3 Fuel-Barrel
        1 Fighter
        1 Bomber
        24 Infantry
        3 SS-Infantry
        2 Light-Tank
        2 Anti-Air
        1 Medium-Tank
        5 Artillery
        1 SS-Potential
        1 Flag
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    10. ---Denmark Strait Sea Zone
      --- My max units ---
        1 Submarine
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Battleship
        3 Patrol-Boat
      --- Enemy bombard units ---
    11. ---East Prussia
      --- My max units ---
        2 Fighter
        1 Bomber
        3 SS-Infantry
        5 Artillery
        1 SS-Potential
        1 Flag
        1 Air-Transport
        5 Infantry
        3 Light-Tank
        1 SP-Artillery
        1 Anti-Air
        1 Medium-Tank
        1 Tank-Destroyer
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
        3 Infantry
        3 SS-Infantry
        2 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        3 Artillery
        3 Mech-Inf
      --- Enemy units ---
        15 Infantry
        1 SP-Artillery
        2 Light-Tank
        1 Artillery
        1 Mech-Inf
      --- Enemy bombard units ---
    12. ---Slovakia
      --- My max units ---
        1 Fighter
        1 Bomber
        9 Infantry
        3 SS-Infantry
        2 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        5 Artillery
        1 SS-Potential
        1 Flag
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
      --- Enemy bombard units ---
    13. ---France
      --- My max units ---
        19 Infantry
        2 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        5 Artillery
        1 SS-Potential
        1 Flag
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
        1 Infantry
        1 Anti-Air
      --- Enemy units ---
        2 Infantry
        1 Anti-Air
        1 Artillery
      --- Enemy bombard units ---
    14. ---Bulgaria
      --- My max units ---
        2 Fuel-Barrel
        1 Bomber
        1 Infantry
        1 Iron-Ore
        1 SS-Potential
        1 Flag
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    15. ---Mallorca
      --- My max units ---
        1 Fighter
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
      --- Enemy bombard units ---
    16. ---Croatia
      --- My max units ---
        1 Bomber
        1 Fighter
        5 Infantry
        2 Light-Tank
        1 Medium-Tank
        5 Artillery
        1 SS-Potential
        1 Flag
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    17. ---Tobruk
      --- My max units ---
        1 Fuel-Barrel
        1 Bomber
        3 Infantry
        1 Colonial-Infantry
        1 Flag
        1 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        1 Infantry
      --- Enemy bombard units ---
    18. ---Tyrrhenian Sea Zone
      --- My max units ---
        2 Submarine
        3 Transport
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        2 Cruiser
        1 Destroyer
        1 Battleship
      --- Enemy bombard units ---
    19. ---Romania
      --- My max units ---
        12 Fuel-Barrel
        1 Bomber
        1 Fighter
        5 Infantry
        1 Air-Transport
        1 Factory
        1 SS-Potential
        1 Flag
      --- My max amphib units ---
      --- My actual units ---
        1 Fighter
        1 Bomber
        1 Air-Transport
      --- Enemy units ---
        7 Infantry
        1 Light-Tank
        1 Artillery
        1 Mech-Inf
      --- Enemy bombard units ---
    20. ---Norwegian Southern Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        2 Transport
        1 Battleship
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Battleship
      --- Enemy bombard units ---
    21. ---Hungary
      --- My max units ---
        2 Fighter
        1 Bomber
        6 Infantry
        1 Air-Transport
        2 Light-Tank
        1 Medium-Tank
        5 Artillery
        1 SS-Potential
        1 Flag
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
        5 Infantry
        2 Artillery
        2 Mech-Inf
      --- Enemy units ---
        7 Infantry
        1 Light-Tank
        1 Artillery
        1 Mech-Inf
      --- Enemy bombard units ---
    22. ---Sardinia
      --- My max units ---
        1 Fighter
        1 Flag
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
      --- Enemy bombard units ---
    23. ---Celtic Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        2 Transport
        1 Battleship
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        12 Infantry
        1 Cruiser
        1 SP-Artillery
        1 Light-Tank
        1 Anti-Air
        1 Medium-Tank
        1 Destroyer
        1 Submarine
        1 Artillery
        1 Battleship
        3 Patrol-Boat
      --- Enemy bombard units ---
    24. ---Berlin
      --- My max units ---
        5 Fuel-Barrel
        1 Fighter
        1 Bomber
        3 SS-Infantry
        1 Factory
        5 Artillery
        1 SS-Potential
        1 Flag
        25 Infantry
        3 Iron-Ore
        2 Light-Tank
        2 Anti-Air
        6 Medium-Tank
        1 Synthetic-Fuel
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
        16 Infantry
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    25. ---West Germany
      --- My max units ---
        4 Fuel-Barrel
        1 Fighter
        1 Bomber
        3 SS-Infantry
        1 Factory
        1 SS-Potential
        5 Artillery
        1 Flag
        25 Infantry
        2 Light-Tank
        2 Anti-Air
        6 Medium-Tank
        1 Submarine-Pen
        5 Mech-Inf
      --- My max amphib units ---
        1 Infantry
      --- My actual units ---
        1 Fighter
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    26. ---Adriatic Sea Zone
      --- My max units ---
        1 Cruiser
        3 Submarine
        1 Destroyer
        4 Transport
        1 Battleship
      --- My max amphib units ---
      --- My actual units ---
        2 Submarine
        3 Transport
      --- Enemy units ---
        1 Fighter
        2 Cruiser
        1 Destroyer
        1 Battleship
      --- Enemy bombard units ---
    27. ---Northern Spain
      --- My max units ---
        1 Fighter
        1 Iron-Ore
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        2 Infantry
        1 Anti-Air
        1 Artillery
      --- Enemy bombard units ---
    28. ---Spain
      --- My max units ---
        1 Fighter
        1 SS-Potential
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        2 Infantry
      --- Enemy bombard units ---
    29. ---Albania
      --- My max units ---
        1 Bomber
        1 Infantry
        1 SS-Potential
        1 Flag
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
      --- Enemy bombard units ---
    30. ---Baltic Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        1 Destroyer
        1 Transport
      --- My max amphib units ---
      --- My actual units ---
        1 Transport
      --- Enemy units ---
        1 Cruiser
        1 Submarine
        2 Patrol-Boat
      --- Enemy bombard units ---
    31. ---Sicily
      --- My max units ---
        1 Fighter
        1 Flag
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
      --- Enemy bombard units ---
    32. ---Mediterranean Sea Zone
      --- My max units ---
        2 Submarine
        3 Transport
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Cruiser
        2 Infantry
        1 Colonial-Infantry
        1 Destroyer
        1 Mech-Inf
      --- Enemy bombard units ---
    33. ---North Sea Zone
      --- My max units ---
        1 Cruiser
        1 Submarine
        2 Transport
        1 Battleship
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Fighter
        11 Infantry
        1 Cruiser
        1 Light-Tank
        1 SP-Artillery
        1 Anti-Air
        1 Medium-Tank
        1 Destroyer
        1 Submarine
        1 Battleship
        1 Artillery
      --- Enemy bombard units ---
    34. ---Italy
      --- My max units ---
        2 Fighter
        5 Fuel-Barrel
        1 Bomber
        1 Factory
        5 Artillery
        1 SS-Potential
        1 Flag
        5 Infantry
        1 Iron-Ore
        2 Light-Tank
        1 Anti-Air
        1 Submarine-Pen
        1 Medium-Tank
        5 Mech-Inf
      --- My max amphib units ---
      --- My actual units ---
      --- Enemy units ---
        1 Infantry
      --- Enemy bombard units ---
Germany time for nonCombat=true time=9293
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Repairing factories with PUsRemaining=120
  Factories can be damaged
  Factories that need repaired: {}
Find all purchase territories
  ProPurchaseTerritory(territory=Berlin, unitProduction=5, canPlaceTerritories=[Berlin, Baltic Sea Zone])
  ProPurchaseTerritory(territory=West Germany, unitProduction=5, canPlaceTerritories=[West Germany, Baltic Sea Zone, North Sea Zone])
Starting simulation for purchase phase
Simulating phase: GermanyPlace
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Starting purchase phase with resources: IntegerMap:
Resource{name=SS} -> 20
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 6
Resource{name=PUs} -> 120

Starting purchase phase with unplaced units=[Submarine owned by Germany]
Find all purchase territories
  ProPurchaseTerritory(territory=Berlin, unitProduction=5, canPlaceTerritories=[Berlin, Baltic Sea Zone])
  ProPurchaseTerritory(territory=West Germany, unitProduction=5, canPlaceTerritories=[West Germany, Baltic Sea Zone, North Sea Zone])
Find defenders in possible place territories
  Berlin has numDefenders=28
  Baltic Sea Zone has numDefenders=4
  West Germany has numDefenders=9
  Baltic Sea Zone has numDefenders=4
  North Sea Zone has numDefenders=0
Prioritize territories to defend with isLand=true
    Berlin TUVSwing=-55.55555555555554, win%=0.0, hasLandUnitRemaining=false, holdValue=0.0, enemyAttackers=[Fighter owned by Britain], defenders=[Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Synthetic-Fuel owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany]
    West Germany TUVSwing=-34.62626262626263, win%=24.242424242424242, hasLandUnitRemaining=false, holdValue=0.0, enemyAttackers=[Fighter owned by Britain], defenders=[Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Submarine-Pen owned by Germany, Fighter owned by Germany]
Purchase defenders with resources: IntegerMap:
Resource{name=SS} -> 20
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 6
Resource{name=PUs} -> 120
, isLand=true
Find strategic value for place territories
  Berlin, strategicValue=10.843580498763782
  Baltic Sea Zone, strategicValue=22.778382636940474
  West Germany, strategicValue=6.321700838883484
  Baltic Sea Zone, strategicValue=22.778382636940474
  North Sea Zone, strategicValue=8.347355499677814
Prioritize land territories to place
    Berlin, current enemy land strengthDifference=-14.40542446494166, distance=2, enemySize=22, alliedSize=67
    West Germany, current enemy land strengthDifference=-31.18000221695523, distance=2, enemySize=8, alliedSize=48
  Berlin strategicValue=10.843580498763782
  West Germany strategicValue=6.321700838883484
Purchase AA units with resources: IntegerMap:
Resource{name=SS} -> 20
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 6
Resource{name=PUs} -> 120

  Checking AA place for Berlin
  Berlin, remainingUnitProduction=5
  Berlin, enemyCanBomb=false, territoryCanBeBombed=true, hasAABombingDefense=false
  Checking AA place for West Germany
  West Germany, remainingUnitProduction=5
  West Germany, enemyCanBomb=false, territoryCanBeBombed=true, hasAABombingDefense=false
Purchase land units with resources: IntegerMap:
Resource{name=SS} -> 20
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 6
Resource{name=PUs} -> 120

  Checking land place for Berlin
  Berlin, remainingUnitProduction=5
  Berlin, enemyDistance=2, fodderPercent=70
  SS-Infantry, defense=false, totalSupportFactor=0.0
  SS-Infantry, defense=true, totalSupportFactor=0.0
    Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=31, numAddedSupport=1, ratio=1.0, bonus=1.0
  Artillery, defense=false, totalSupportFactor=0.9095325760829622
    SP-Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=31, numAddedSupport=1, ratio=1.0, bonus=1.0
  SP-Artillery, defense=false, totalSupportFactor=0.9095325760829622
    Select purchase option for Land Fodder
    Anti-Air, probability=4.498364710402676, upperBound=4.498364710402676
    Medium-Tank, probability=0.42191630945327396, upperBound=4.92028101985595
    SS-Infantry, probability=40.595293068343366, upperBound=45.515574088199315
    Mech-Inf, probability=0.6760025164425992, upperBound=46.19157660464192
    Artillery, probability=9.943623909211459, upperBound=56.13520051385338
    Tank-Destroyer, probability=0.9788913048269057, upperBound=57.11409181868028
    SP-Artillery, probability=2.0674397246791836, upperBound=59.18153154335946
    Infantry, probability=40.595293068343366, upperBound=99.77682461170284
    Light-Tank, probability=0.22317538829718306, upperBound=100.00000000000001
    Random number: 33.96930226872538
    Selected unit=SS-Infantry
    SP-Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=32, numAddedSupport=1, ratio=1.0, bonus=1.0
  SP-Artillery, defense=false, totalSupportFactor=0.9095325760829622
    Select purchase option for Land Attack
    Anti-Air, probability=2.8006424934790733E-5, upperBound=2.8006424934790733E-5
    Medium-Tank, probability=91.1518957764595, upperBound=91.15192378288444
    Mech-Inf, probability=0.02044882744532185, upperBound=91.17237261032976
    Tank-Destroyer, probability=0.7202516550609639, upperBound=91.89262426539072
    SP-Artillery, probability=0.5426293623944093, upperBound=92.43525362778513
    Light-Tank, probability=7.564746372214878, upperBound=100.00000000000001
    Random number: 24.45286159171428
    Selected unit=Medium-Tank
    Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=32, numAddedSupport=1, ratio=1.0, bonus=1.0
  Artillery, defense=false, totalSupportFactor=0.9095325760829622
    SP-Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=32, numAddedSupport=1, ratio=1.0, bonus=1.0
  SP-Artillery, defense=false, totalSupportFactor=0.9095325760829622
    Select purchase option for Land Fodder
    Anti-Air, probability=7.572404515988794, upperBound=7.572404515988794
    Medium-Tank, probability=0.7102405368966405, upperBound=8.282645052885433
    Mech-Inf, probability=1.1379612009875246, upperBound=9.420606253872958
    Artillery, probability=16.738781188923806, upperBound=26.159387442796763
    Tank-Destroyer, probability=1.6478345831300727, upperBound=27.807222025926837
    SP-Artillery, probability=3.480262476604272, upperBound=31.287484502531107
    Infantry, probability=68.33682912542106, upperBound=99.62431362795218
    Light-Tank, probability=0.37568637204782396, upperBound=100.0
    Random number: 97.3075803874393
    Selected unit=Infantry
    Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=33, numAddedSupport=1, ratio=1.0, bonus=1.0
  Artillery, defense=false, totalSupportFactor=0.9095325760829622
    SP-Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=33, numAddedSupport=1, ratio=1.0, bonus=1.0
  SP-Artillery, defense=false, totalSupportFactor=0.9095325760829622
    Select purchase option for Land Fodder
    Anti-Air, probability=7.572404515988794, upperBound=7.572404515988794
    Medium-Tank, probability=0.7102405368966405, upperBound=8.282645052885433
    Mech-Inf, probability=1.1379612009875246, upperBound=9.420606253872958
    Artillery, probability=16.738781188923806, upperBound=26.159387442796763
    Tank-Destroyer, probability=1.6478345831300727, upperBound=27.807222025926837
    SP-Artillery, probability=3.480262476604272, upperBound=31.287484502531107
    Infantry, probability=68.33682912542106, upperBound=99.62431362795218
    Light-Tank, probability=0.37568637204782396, upperBound=100.0
    Random number: 36.46083178678508
    Selected unit=Infantry
    SP-Artillery, bonusType=UnitSupportAttachment.BonusType(name=ArtyOld, count=1), supportFactor=0.9095325760829622, numSupportProvided=6, numSupportableUnits=34, numAddedSupport=1, ratio=1.0, bonus=1.0
  SP-Artillery, defense=false, totalSupportFactor=0.9095325760829622
    Select purchase option for Land Attack
    Anti-Air, probability=2.8006424934790733E-5, upperBound=2.8006424934790733E-5
    Medium-Tank, probability=91.1518957764595, upperBound=91.15192378288444
    Mech-Inf, probability=0.02044882744532185, upperBound=91.17237261032976
    Tank-Destroyer, probability=0.7202516550609639, upperBound=91.89262426539072
    SP-Artillery, probability=0.5426293623944093, upperBound=92.43525362778513
    Light-Tank, probability=7.564746372214878, upperBound=100.00000000000001
    Random number: 60.72830050892672
    Selected unit=Medium-Tank
  Berlin, placedUnits=[SS-Infantry owned by Germany, Medium-Tank owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Medium-Tank owned by Germany]
  Checking land place for West Germany
  West Germany, remainingUnitProduction=5
  West Germany, enemyDistance=2, fodderPercent=70
    Select purchase option for Land Fodder
    Anti-Air, probability=9.975603958485902, upperBound=9.975603958485902
    Infantry, probability=90.0243960415141, upperBound=100.0
    Random number: 62.606965149881134
    Selected unit=Infantry
    Select purchase option for Land Attack
    Anti-Air, probability=100.0, upperBound=100.0
    Random number: 41.82726731830779
    Selected unit=Anti-Air
    Select purchase option for Land Fodder
    Anti-Air, probability=9.975603958485902, upperBound=9.975603958485902
    Infantry, probability=90.0243960415141, upperBound=100.0
    Random number: 6.246495600034574
    Selected unit=Anti-Air
    Select purchase option for Land Fodder
    Anti-Air, probability=9.975603958485902, upperBound=9.975603958485902
    Infantry, probability=90.0243960415141, upperBound=100.0
    Random number: 95.82982170370488
    Selected unit=Infantry
    Select purchase option for Land Attack
    Anti-Air, probability=100.0, upperBound=100.0
    Random number: 77.92232638206261
    Selected unit=Anti-Air
  West Germany, placedUnits=[Infantry owned by Germany, Anti-Air owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany]
Prioritize territories to defend with isLand=false
    Baltic Sea Zone TUVSwing=24.33333333333333, win%=63.541666666666664, hasLandUnitRemaining=true, holdValue=10.125, enemyAttackers=[Patrol-Boat owned by USSR, Submarine owned by USSR, Cruiser owned by USSR, Patrol-Boat owned by USSR], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany]
    Baltic Sea Zone TUVSwing=20.28125, win%=59.375, hasLandUnitRemaining=true, holdValue=10.125, enemyAttackers=[Patrol-Boat owned by USSR, Submarine owned by USSR, Cruiser owned by USSR, Patrol-Boat owned by USSR], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany]
  Baltic Sea Zone defenseValue=40.5
Purchase defenders with resources: IntegerMap:
Resource{name=SS} -> 0
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 0
Resource{name=PUs} -> 11
, isLand=false
  Purchasing defenders for Baltic Sea Zone, enemyAttackers=[Cruiser owned by USSR, Submarine owned by USSR, Patrol-Boat owned by USSR, Patrol-Boat owned by USSR], amphibEnemyAttackers=[], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany]
    Baltic Sea Zone, unusedCarrierCapacity=0, unusedLocalCarrierCapacity=-1
  Berlin, remainingUnitProduction=0, remainingConstructions=0
  West Germany, remainingUnitProduction=0, remainingConstructions=0
    Baltic Sea Zone, current enemy land strengthDifference=0.0, distance=2, enemySize=33, alliedSize=74
    Baltic Sea Zone, placedUnits=[], TUVSwing=-1.0, hasLandUnitRemaining=false, hasLocalSuperiority=true
Purchase factory with resources: IntegerMap:
Resource{name=SS} -> 0
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 0
Resource{name=PUs} -> 11
, hasExtraPUs=false
    Possible factory: Austria-Bohemia, hasLandUnitRemaining=false, TUVSwing=-1.0, enemyAttackers=1, myDefenders=5
    Possible factory: East Prussia, hasLandUnitRemaining=false, TUVSwing=-98.99999999999999, enemyAttackers=20, myDefenders=22
  Possible factory territories: [Austria-Bohemia, East Prussia]
    Austria-Bohemia, current enemy land strengthDifference=-37.14342210107412, distance=2, enemySize=12, alliedSize=83
    Austria-Bohemia, current enemy land strengthDifference=-37.51172212518841, distance=3, enemySize=35, alliedSize=143
    East Prussia, current enemy land strengthDifference=6.278609691763826, distance=2, enemySize=49, alliedSize=70
    East Prussia, current enemy land strengthDifference=1.7059880518114667, distance=3, enemySize=70, alliedSize=115
  Possible factory territories that have land superiority: [Austria-Bohemia, East Prussia]
    Austria-Bohemia, strategic value=6.55858759638286, value=26.634350385531437, numNearbyEnemyTerritories=67
    East Prussia, strategic value=20.443895161381285, value=102.71947580690642, numNearbyEnemyTerritories=83
  Try to purchase factory for territory: East Prussia
Prioritize sea territories
  Determine sea place value:
    Baltic Sea Zone, enemyDistance=3, alliedDistance=2, enemyAirUnits=[Fighter owned by Britain], enemySeaUnits=[Cruiser owned by USSR, Submarine owned by USSR, Patrol-Boat owned by USSR, Patrol-Boat owned by USSR], mySeaUnits=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany]
    Baltic Sea Zone, current enemy naval attack strengthDifference=86.61294593601016, enemySize=5, alliedSize=4
    Baltic Sea Zone, current allied naval attack strengthDifference=52.96861723805488, alliedSize=4, enemySize=4
  Baltic Sea Zone, value=13.097570016240772, strategicValue=22.778382636940474, numMyTransports=1, numSeaDefenders=3, needDefenders=1
    North Sea Zone, enemyDistance=3, alliedDistance=2, enemyAirUnits=[Fighter owned by Britain], enemySeaUnits=[Submarine owned by Britain, Destroyer owned by Britain, Cruiser owned by Britain, Battleship owned by Britain, Patrol-Boat owned by Britain, Patrol-Boat owned by Britain, Patrol-Boat owned by Britain, Cruiser owned by France, Destroyer owned by France, Cruiser owned by USSR, Submarine owned by USSR], mySeaUnits=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany, Destroyer owned by Germany, Transport owned by Germany, Transport owned by Germany, Battleship owned by Germany, Submarine owned by Germany, Cruiser owned by Germany]
    North Sea Zone, current enemy naval attack strengthDifference=84.34336602004659, enemySize=12, alliedSize=10
    North Sea Zone, current allied naval attack strengthDifference=38.33324431327025, alliedSize=10, enemySize=11
  North Sea Zone, value=2.0868388749194535, strategicValue=8.347355499677814, numMyTransports=0, numSeaDefenders=0, needDefenders=1
  Sorted sea territories:
  Baltic Sea Zone value=13.097570016240772
  North Sea Zone value=2.0868388749194535
Purchase sea and amphib units with resources: IntegerMap:
Resource{name=SS} -> 0
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 0
Resource{name=PUs} -> 11

  Checking sea place for Baltic Sea Zone
    Baltic Sea Zone, unusedCarrierCapacity=0, unusedLocalCarrierCapacity=-1
    Baltic Sea Zone, needDestroyer=false, checking defense since has enemy attackers: [Cruiser owned by USSR, Submarine owned by USSR, Patrol-Boat owned by USSR, Patrol-Boat owned by USSR]
    Baltic Sea Zone, purchaseTerritory=Berlin, remainingUnitProduction=0
    Baltic Sea Zone, purchaseTerritory=West Germany, remainingUnitProduction=0
    Baltic Sea Zone, can't defend TUVSwing=18.625, win%=57.291666666666664, tried to placeDefenders=[], enemyAttackers=[Cruiser owned by USSR, Submarine owned by USSR, Patrol-Boat owned by USSR, Patrol-Boat owned by USSR]
  Checking sea place for North Sea Zone
    North Sea Zone, unusedCarrierCapacity=0, unusedLocalCarrierCapacity=-1
    North Sea Zone, needDestroyer=true, checking defense since has enemy attackers: [Submarine owned by Britain, Destroyer owned by Britain, Cruiser owned by Britain, Battleship owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Light-Tank owned by Britain, SP-Artillery owned by Britain, Anti-Air owned by Britain, Medium-Tank owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Artillery owned by Britain, Fighter owned by Britain]
    North Sea Zone, purchaseTerritory=West Germany, remainingUnitProduction=0
    North Sea Zone, can't defend TUVSwing=0.1, win%=100.0, tried to placeDefenders=[], enemyAttackers=[Submarine owned by Britain, Destroyer owned by Britain, Cruiser owned by Britain, Battleship owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Light-Tank owned by Britain, SP-Artillery owned by Britain, Anti-Air owned by Britain, Medium-Tank owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Infantry owned by Britain, Artillery owned by Britain, Fighter owned by Britain]
Purchase units in territories with remaining production with resources: IntegerMap:
Resource{name=SS} -> 0
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 0
Resource{name=PUs} -> 11

  Sorted land territories with remaining production: []
  Sorted can't hold land territories with remaining production: []
Upgrade units with resources: IntegerMap:
Resource{name=SS} -> 0
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 0
Resource{name=PUs} -> 11

  Sorted land territories: [West Germany, Berlin]
  Checking territory: West Germany
    West Germany, removedUnits=[Anti-Air owned by Germany]
    West Germany, addedUnit=[Infantry owned by Germany]
  Checking territory: Berlin
Purchase factory with resources: IntegerMap:
Resource{name=SS} -> 0
Resource{name=Fuel} -> 35
Resource{name=Iron} -> 0
Resource{name=PUs} -> 10
, hasExtraPUs=true
    Possible factory: Austria-Bohemia, hasLandUnitRemaining=false, TUVSwing=-1.0, enemyAttackers=1, myDefenders=5
    Possible factory: East Prussia, hasLandUnitRemaining=false, TUVSwing=-88.95000000000002, enemyAttackers=20, myDefenders=22
  Possible factory territories: [Austria-Bohemia, East Prussia]
    Austria-Bohemia, strategic value=6.55858759638286, value=26.634350385531437, numNearbyEnemyTerritories=67
    East Prussia, strategic value=20.443895161381285, value=102.71947580690642, numNearbyEnemyTerritories=83
  Try to purchase factory for territory: East Prussia
Populate production rule map
2 ProductionRule:buyAnti-Air
2 ProductionRule:buyMedium-Tank
1 ProductionRule:buySS-Infantry
5 ProductionRule:buyInfantry
  IntegerMap:
ProductionRule:buyAnti-Air -> 2
ProductionRule:buyMedium-Tank -> 2
ProductionRule:buySS-Infantry -> 1
ProductionRule:buyInfantry -> 5

Germany time for purchase=2406
Purchase Options
  Land: ProductionRule:buySS-Infantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyInfantry | cost=10 | moves=1 | quantity=1 | hitPointEfficiency=0.16 | attackEfficiency=0.62 | defenseEfficiency=0.68 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyArtillery | cost=11 | moves=1 | quantity=1 | hitPointEfficiency=0.14545454545454548 | attackEfficiency=0.5636363636363636 | defenseEfficiency=0.6181818181818183 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMech-Inf | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buySP-Artillery | cost=12 | moves=2 | quantity=1 | hitPointEfficiency=0.13333333333333333 | attackEfficiency=0.5166666666666667 | defenseEfficiency=0.5666666666666668 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyTank-Destroyer | cost=13 | moves=2 | quantity=1 | hitPointEfficiency=0.14153846153846156 | attackEfficiency=0.6153846153846154 | defenseEfficiency=0.6615384615384615 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyLight-Tank | cost=15 | moves=2 | quantity=1 | hitPointEfficiency=0.13866666666666666 | attackEfficiency=0.6933333333333334 | defenseEfficiency=0.6533333333333334 | isSub=false | isTransport=false | isCarrier=false
  Land: ProductionRule:buyMedium-Tank | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.14500000000000002 | attackEfficiency=0.7625 | defenseEfficiency=0.725 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyFighter | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11600000000000002 | attackEfficiency=0.58 | defenseEfficiency=0.61 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyDive-Bomber | cost=20 | moves=4 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.58 | defenseEfficiency=0.5199999999999999 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyBomber | cost=30 | moves=6 | quantity=1 | hitPointEfficiency=0.06933333333333333 | attackEfficiency=0.38666666666666666 | defenseEfficiency=0.2866666666666667 | isSub=false | isTransport=false | isCarrier=false
  Air: ProductionRule:buyAir-Transport | cost=25 | moves=4 | quantity=1 | hitPointEfficiency=0.049600000000000005 | attackEfficiency=0.15200000000000002 | defenseEfficiency=0.152 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyTransport | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.05600000000000001 | attackEfficiency=0.13 | defenseEfficiency=0.16 | isSub=false | isTransport=true | isCarrier=false
  Sea: ProductionRule:buyPatrol-Boat | cost=13 | moves=1 | quantity=1 | hitPointEfficiency=0.12307692307692308 | attackEfficiency=0.5230769230769231 | defenseEfficiency=0.4769230769230769 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buySubmarine | cost=25 | moves=2 | quantity=1 | hitPointEfficiency=0.07840000000000001 | attackEfficiency=0.392 | defenseEfficiency=0.344 | isSub=true | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyDestroyer | cost=16 | moves=2 | quantity=1 | hitPointEfficiency=0.10750000000000001 | attackEfficiency=0.46249999999999997 | defenseEfficiency=0.4625 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCruiser | cost=20 | moves=2 | quantity=1 | hitPointEfficiency=0.11000000000000001 | attackEfficiency=0.55 | defenseEfficiency=0.55 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyBattleship | cost=35 | moves=2 | quantity=1 | hitPointEfficiency=0.0982857142857143 | attackEfficiency=0.6342857142857142 | defenseEfficiency=0.6342857142857143 | isSub=false | isTransport=false | isCarrier=false
  Sea: ProductionRule:buyCarrier | cost=40 | moves=2 | quantity=1 | hitPointEfficiency=0.06200000000000001 | attackEfficiency=0.28500000000000003 | defenseEfficiency=0.285 | isSub=false | isTransport=false | isCarrier=true
  Land: ProductionRule:buyAnti-Air | cost=9 | moves=1 | quantity=1 | hitPointEfficiency=0.1377777777777778 | attackEfficiency=0.4222222222222223 | defenseEfficiency=0.4222222222222222 | isSub=false | isTransport=false | isCarrier=false
  Zero Move Land: ProductionRule:buySynthetic-Fuel | cost=5 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
  Factory: ProductionRule:buyFactory | cost=25 | moves=0 | quantity=1 | hitPointEfficiency=0.0 | attackEfficiency=0.0 | defenseEfficiency=0.0 | isSub=false | isTransport=false | isCarrier=false
Purchase Categories
  Land Fodder Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Attack Options: Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Defense Options: SS-Infantry, Infantry, Artillery, Mech-Inf, SP-Artillery, Tank-Destroyer, Light-Tank, Medium-Tank, Anti-Air
  Land Zero Move Options: Synthetic-Fuel
  Air Options: Fighter, Dive-Bomber, Bomber, Air-Transport
  Sea Defense Options: Transport, Patrol-Boat, Destroyer, Cruiser, Battleship, Carrier
  Sea Transport Options: Transport
  Sea Carrier Options: Carrier
  Sea Sub Options: Submarine
  AA Options: Anti-Air
  Factory Options: Factory
  Special Options
Starting place phase
  Berlin placed units: [SS-Infantry owned by Germany, Medium-Tank owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Medium-Tank owned by Germany]
  West Germany placed units: [Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany]
  Baltic Sea Zone placed units: []
  Baltic Sea Zone placed units: []
  North Sea Zone placed units: []
  Remaining units to place: [Submarine owned by Germany]
Find all purchase territories
  ProPurchaseTerritory(territory=Berlin, unitProduction=5, canPlaceTerritories=[Berlin, Baltic Sea Zone])
  ProPurchaseTerritory(territory=West Germany, unitProduction=5, canPlaceTerritories=[West Germany, Baltic Sea Zone, North Sea Zone])
Find defenders in possible place territories
  Berlin has numDefenders=33
  Baltic Sea Zone has numDefenders=4
  West Germany has numDefenders=14
  Baltic Sea Zone has numDefenders=4
  North Sea Zone has numDefenders=0
Prioritize territories to defend with isLand=true
    Berlin TUVSwing=-56.46464646464648, win%=0.0, hasLandUnitRemaining=false, holdValue=0.0, enemyAttackers=[Fighter owned by Britain], defenders=[Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Synthetic-Fuel owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Iron-Ore owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Infantry owned by Germany, SS-Infantry owned by Germany, Medium-Tank owned by Germany, Infantry owned by Germany, Infantry owned by Germany, Medium-Tank owned by Germany]
    West Germany TUVSwing=-48.54545454545455, win%=0.0, hasLandUnitRemaining=false, holdValue=0.0, enemyAttackers=[Fighter owned by Britain], defenders=[Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Fuel-Barrel owned by Germany, Factory owned by Germany, SS-Potential owned by Germany, Flag owned by Germany, Submarine-Pen owned by Germany, Fighter owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany, Anti-Air owned by Germany, Infantry owned by Germany]
Place defenders with units=[Submarine owned by Germany]
Prioritize territories to defend with isLand=false
    Baltic Sea Zone TUVSwing=21.42708333333333, win%=60.416666666666664, hasLandUnitRemaining=true, holdValue=10.125, enemyAttackers=[Patrol-Boat owned by USSR, Submarine owned by USSR, Cruiser owned by USSR, Patrol-Boat owned by USSR], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany]
    Baltic Sea Zone TUVSwing=27.59375, win%=67.70833333333334, hasLandUnitRemaining=true, holdValue=10.125, enemyAttackers=[Patrol-Boat owned by USSR, Submarine owned by USSR, Cruiser owned by USSR, Patrol-Boat owned by USSR], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany]
  Baltic Sea Zone defenseValue=40.5
Place defenders with units=[Submarine owned by Germany]
  Placing defenders for Baltic Sea Zone, enemyAttackers=[Cruiser owned by USSR, Submarine owned by USSR, Patrol-Boat owned by USSR, Patrol-Boat owned by USSR], amphibEnemyAttackers=[], defenders=[Cruiser owned by Germany, Submarine owned by Germany, Destroyer owned by Germany, Transport owned by Germany]
    Baltic Sea Zone, remainingUnitProduction=0
    Baltic Sea Zone, placedUnits=[], TUVSwing=-1.0
Find strategic value for place territories
  Berlin, strategicValue=10.843580498763782
  Baltic Sea Zone, strategicValue=22.778382636940474
  West Germany, strategicValue=6.321700838883484
  Baltic Sea Zone, strategicValue=22.778382636940474
  North Sea Zone, strategicValue=8.347355499677814
Prioritize land territories to place
    Berlin, current enemy land strengthDifference=-25.732940767563477, distance=2, enemySize=22, alliedSize=77
    West Germany, current enemy land strengthDifference=-41.779476046627224, distance=2, enemySize=8, alliedSize=58
  Berlin strategicValue=10.843580498763782
  West Germany strategicValue=6.321700838883484
Place with isConstruction=false, units=[Submarine owned by Germany]
  Checking place for Berlin
    Berlin, remainingUnitProduction=0
    Berlin, placedUnits=[]
  Checking place for West Germany
    West Germany, remainingUnitProduction=0
    West Germany, placedUnits=[]
  Checking place for Baltic Sea Zone
    Baltic Sea Zone, remainingUnitProduction=0
    Baltic Sea Zone, placedUnits=[]
  Checking place for North Sea Zone
    North Sea Zone, remainingUnitProduction=0
    North Sea Zone, placedUnits=[]
Place with isConstruction=true, units=[Submarine owned by Germany]
  Checking place for Berlin
    Berlin, remainingUnitProduction=0
    Berlin, placedUnits=[]
  Checking place for West Germany
    West Germany, remainingUnitProduction=0
    West Germany, placedUnits=[]
  Checking place for Baltic Sea Zone
    Baltic Sea Zone, remainingUnitProduction=0
    Baltic Sea Zone, placedUnits=[]
  Checking place for North Sea Zone
    North Sea Zone, remainingUnitProduction=0
    North Sea Zone, placedUnits=[]
Germany time for place=5535
DanVanAtta commented 4 years ago

@FrostionAAA the error is coming from underlying java code that renders windows. It is not in the control of TripleA and is seemingly specific to the version of java you have installed and your OS. When the game launches, there is behind the scenes preparation fo the pro-AI-log window and that is error'ing out. Because you can launch the window anyways, it seems like this error is inconsequential as the window is rendering fine. That means this is just a core java bug that you are hitting. It should not really matter which map you are using, just that you have AIs and are hitting the condition (perhaps it's a race condition that simply depends on timing of what executes when and how fast).

With that said, it seems the right fix is to simply suppress the error messaging.

DanVanAtta commented 4 years ago

https://github.com/triplea-game/triplea/pull/6579 suppresses this error message (no real fix, just stops showing the NPE message and error report window and ignores the error, prints a message to console that this happened).