client_plugin_logic_deb 1.8.470 → 1.8.472
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Kosi-Kaverit-kaverit.js +77 -77
- package/Kosi-Kodein-kodein-di.js +595 -595
- package/Kotlin-DateTime-library-kotlinx-datetime.js +1631 -1631
- package/Logic_Debertz-ai_module.js +544 -544
- package/Logic_Debertz-ai_module.js.map +1 -1
- package/Logic_Debertz-bot_engine.js +618 -614
- package/Logic_Debertz-bot_engine.js.map +1 -1
- package/Logic_Debertz-client_plugin.d.ts +4 -3
- package/Logic_Debertz-client_plugin.js +3271 -3272
- package/Logic_Debertz-client_plugin.js.map +1 -1
- package/Logic_Debertz-core.js +1901 -1901
- package/Logic_Debertz-core.js.map +1 -1
- package/Logic_Debertz-engine.js +17728 -17689
- package/Logic_Debertz-engine.js.map +1 -1
- package/Logic_Debertz-game_client.js +9591 -9591
- package/Logic_Debertz-game_client.js.map +1 -1
- package/Logic_Debertz-game_server.js +1411 -1411
- package/Logic_Debertz-game_server.js.map +1 -1
- package/error-library-error.js +5 -5
- package/kotlin-kotlin-stdlib.js +1306 -953
- package/kotlin-kotlin-stdlib.js.map +1 -1
- package/kotlinx-atomicfu.js +22 -22
- package/kotlinx-coroutines-core.js +2589 -2589
- package/kotlinx-io-kotlinx-io-bytestring.js +47 -47
- package/kotlinx-io-kotlinx-io-core.js +582 -582
- package/kotlinx-serialization-kotlinx-serialization-core.js +1956 -1956
- package/kotlinx-serialization-kotlinx-serialization-core.js.map +1 -1
- package/kotlinx-serialization-kotlinx-serialization-json.js +1444 -1444
- package/ktor-ktor-client-content-negotiation.js +158 -158
- package/ktor-ktor-client-core.js +1977 -1977
- package/ktor-ktor-client-logging.js +652 -652
- package/ktor-ktor-events.js +12 -12
- package/ktor-ktor-http-cio.js +372 -372
- package/ktor-ktor-http.js +742 -742
- package/ktor-ktor-io.js +653 -653
- package/ktor-ktor-serialization-kotlinx-json.js +8 -8
- package/ktor-ktor-serialization-kotlinx.js +153 -153
- package/ktor-ktor-serialization.js +72 -72
- package/ktor-ktor-utils.js +701 -701
- package/ktor-ktor-utils.js.map +1 -1
- package/ktor-ktor-websockets.js +52 -52
- package/package.json +1 -1
- package/random-library-crypto-rand.js +13 -13
- package/random-library-secure-random.js +8 -8
- package/raspberry-cardgame-lib-core.js +224 -224
- package/raspberry-cardgame-lib-logger.js +106 -106
- package/raspberry-cardgame-lib-random.js +865 -865
- package/raspberry-cardgame-lib-random.js.map +1 -1
- package/uuid.js +29 -29
|
@@ -23,58 +23,58 @@
|
|
|
23
23
|
//region block: imports
|
|
24
24
|
var imul = Math.imul;
|
|
25
25
|
var VOID = kotlin_kotlin.$_$.b;
|
|
26
|
-
var toString = kotlin_kotlin.$_$.
|
|
27
|
-
var protoOf = kotlin_kotlin.$_$.
|
|
28
|
-
var hashCode = kotlin_kotlin.$_$.
|
|
29
|
-
var equals = kotlin_kotlin.$_$.
|
|
30
|
-
var initMetadataForClass = kotlin_kotlin.$_$.
|
|
31
|
-
var getBooleanHashCode = kotlin_kotlin.$_$.
|
|
32
|
-
var emptyList = kotlin_kotlin.$_$.
|
|
33
|
-
var toString_0 = kotlin_kotlin.$_$.
|
|
34
|
-
var getStringHashCode = kotlin_kotlin.$_$.
|
|
35
|
-
var Unit_instance = kotlin_kotlin.$_$.
|
|
36
|
-
var initMetadataForCompanion = kotlin_kotlin.$_$.
|
|
37
|
-
var FunctionAdapter = kotlin_kotlin.$_$.
|
|
38
|
-
var isInterface = kotlin_kotlin.$_$.
|
|
39
|
-
var Comparator = kotlin_kotlin.$_$.
|
|
40
|
-
var compareValues = kotlin_kotlin.$_$.
|
|
41
|
-
var sortedWith = kotlin_kotlin.$_$.
|
|
42
|
-
var getOrNull = kotlin_kotlin.$_$.
|
|
43
|
-
var Collection = kotlin_kotlin.$_$.
|
|
44
|
-
var coerceIn = kotlin_kotlin.$_$.
|
|
45
|
-
var coerceAtLeast = kotlin_kotlin.$_$.
|
|
46
|
-
var coerceAtLeast_0 = kotlin_kotlin.$_$.
|
|
26
|
+
var toString = kotlin_kotlin.$_$.hk;
|
|
27
|
+
var protoOf = kotlin_kotlin.$_$.oe;
|
|
28
|
+
var hashCode = kotlin_kotlin.$_$.md;
|
|
29
|
+
var equals = kotlin_kotlin.$_$.fd;
|
|
30
|
+
var initMetadataForClass = kotlin_kotlin.$_$.nd;
|
|
31
|
+
var getBooleanHashCode = kotlin_kotlin.$_$.id;
|
|
32
|
+
var emptyList = kotlin_kotlin.$_$.p7;
|
|
33
|
+
var toString_0 = kotlin_kotlin.$_$.re;
|
|
34
|
+
var getStringHashCode = kotlin_kotlin.$_$.ld;
|
|
35
|
+
var Unit_instance = kotlin_kotlin.$_$.l5;
|
|
36
|
+
var initMetadataForCompanion = kotlin_kotlin.$_$.od;
|
|
37
|
+
var FunctionAdapter = kotlin_kotlin.$_$.sc;
|
|
38
|
+
var isInterface = kotlin_kotlin.$_$.ce;
|
|
39
|
+
var Comparator = kotlin_kotlin.$_$.pi;
|
|
40
|
+
var compareValues = kotlin_kotlin.$_$.xa;
|
|
41
|
+
var sortedWith = kotlin_kotlin.$_$.x9;
|
|
42
|
+
var getOrNull = kotlin_kotlin.$_$.d8;
|
|
43
|
+
var Collection = kotlin_kotlin.$_$.n5;
|
|
44
|
+
var coerceIn = kotlin_kotlin.$_$.bf;
|
|
45
|
+
var coerceAtLeast = kotlin_kotlin.$_$.xe;
|
|
46
|
+
var coerceAtLeast_0 = kotlin_kotlin.$_$.we;
|
|
47
47
|
var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.s1;
|
|
48
|
-
var booleanArray = kotlin_kotlin.$_$.
|
|
48
|
+
var booleanArray = kotlin_kotlin.$_$.vc;
|
|
49
49
|
var ArrayList_init_$Create$ = kotlin_kotlin.$_$.j;
|
|
50
|
-
var toIntArray = kotlin_kotlin.$_$.
|
|
51
|
-
var getKClassFromExpression = kotlin_kotlin.$_$.
|
|
52
|
-
var THROW_CCE = kotlin_kotlin.$_$.
|
|
53
|
-
var get_indices = kotlin_kotlin.$_$.
|
|
54
|
-
var contentEquals = kotlin_kotlin.$_$.
|
|
55
|
-
var contentEquals_0 = kotlin_kotlin.$_$.
|
|
56
|
-
var contentHashCode = kotlin_kotlin.$_$.
|
|
57
|
-
var contentDeepHashCode = kotlin_kotlin.$_$.
|
|
58
|
-
var initMetadataForObject = kotlin_kotlin.$_$.
|
|
50
|
+
var toIntArray = kotlin_kotlin.$_$.ga;
|
|
51
|
+
var getKClassFromExpression = kotlin_kotlin.$_$.kf;
|
|
52
|
+
var THROW_CCE = kotlin_kotlin.$_$.dj;
|
|
53
|
+
var get_indices = kotlin_kotlin.$_$.i8;
|
|
54
|
+
var contentEquals = kotlin_kotlin.$_$.t6;
|
|
55
|
+
var contentEquals_0 = kotlin_kotlin.$_$.u6;
|
|
56
|
+
var contentHashCode = kotlin_kotlin.$_$.x6;
|
|
57
|
+
var contentDeepHashCode = kotlin_kotlin.$_$.r6;
|
|
58
|
+
var initMetadataForObject = kotlin_kotlin.$_$.td;
|
|
59
59
|
var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.s;
|
|
60
|
-
var collectionSizeOrDefault = kotlin_kotlin.$_$.
|
|
60
|
+
var collectionSizeOrDefault = kotlin_kotlin.$_$.p6;
|
|
61
61
|
var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.i;
|
|
62
62
|
var getPlayer = kotlin_io_raspberryapps_game_engine_core.$_$.q;
|
|
63
|
-
var addAll = kotlin_kotlin.$_$.
|
|
63
|
+
var addAll = kotlin_kotlin.$_$.d6;
|
|
64
64
|
var CombinationState_ACCEPTED_getInstance = kotlin_io_raspberryapps_game_engine_engine.$_$.x9;
|
|
65
65
|
var get_isEarnPointScene = kotlin_io_raspberryapps_game_engine_engine.$_$.x3;
|
|
66
66
|
var get_entries = kotlin_io_raspberryapps_cardgame_core.$_$.s;
|
|
67
|
-
var plus = kotlin_kotlin.$_$.
|
|
67
|
+
var plus = kotlin_kotlin.$_$.k9;
|
|
68
68
|
var get_isTradeScene = kotlin_io_raspberryapps_game_engine_engine.$_$.a4;
|
|
69
|
-
var listOf = kotlin_kotlin.$_$.
|
|
70
|
-
var noWhenBranchMatchedException = kotlin_kotlin.$_$.
|
|
69
|
+
var listOf = kotlin_kotlin.$_$.w8;
|
|
70
|
+
var noWhenBranchMatchedException = kotlin_kotlin.$_$.ck;
|
|
71
71
|
var CombinationChoiceFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.d5;
|
|
72
|
-
var emptySet = kotlin_kotlin.$_$.
|
|
72
|
+
var emptySet = kotlin_kotlin.$_$.r7;
|
|
73
73
|
var Combination = kotlin_io_raspberryapps_game_engine_engine.$_$.n3;
|
|
74
74
|
var CardFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.c5;
|
|
75
75
|
var SuitChoiceFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.l5;
|
|
76
76
|
var WaitingActData = kotlin_io_raspberryapps_game_engine_engine.$_$.q1;
|
|
77
|
-
var getKClass = kotlin_kotlin.$_$.
|
|
77
|
+
var getKClass = kotlin_kotlin.$_$.lf;
|
|
78
78
|
var MechanicException = kotlin_io_raspberryapps_game_engine_core.$_$.b;
|
|
79
79
|
var Companion_instance = kotlin_io_raspberryapps_game_engine_engine.$_$.hb;
|
|
80
80
|
var RequestedCardDecksFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.k5;
|
|
@@ -86,33 +86,33 @@
|
|
|
86
86
|
var get_isCalcPointScene = kotlin_io_raspberryapps_game_engine_engine.$_$.v3;
|
|
87
87
|
var get_isChoosePartnerScene = kotlin_io_raspberryapps_game_engine_engine.$_$.w3;
|
|
88
88
|
var ExternalBotAnswerProvider = kotlin_io_raspberryapps_game_engine_engine.$_$.h8;
|
|
89
|
-
var Enum = kotlin_kotlin.$_$.
|
|
90
|
-
var max = kotlin_kotlin.$_$.
|
|
91
|
-
var sum = kotlin_kotlin.$_$.
|
|
92
|
-
var FloatCompanionObject_instance = kotlin_kotlin.$_$.
|
|
93
|
-
var floatFromBits = kotlin_kotlin.$_$.
|
|
94
|
-
var toSet = kotlin_kotlin.$_$.
|
|
95
|
-
var setOf = kotlin_kotlin.$_$.
|
|
96
|
-
var setOf_0 = kotlin_kotlin.$_$.
|
|
97
|
-
var first = kotlin_kotlin.$_$.
|
|
89
|
+
var Enum = kotlin_kotlin.$_$.si;
|
|
90
|
+
var max = kotlin_kotlin.$_$.b9;
|
|
91
|
+
var sum = kotlin_kotlin.$_$.aa;
|
|
92
|
+
var FloatCompanionObject_instance = kotlin_kotlin.$_$.t4;
|
|
93
|
+
var floatFromBits = kotlin_kotlin.$_$.hd;
|
|
94
|
+
var toSet = kotlin_kotlin.$_$.ra;
|
|
95
|
+
var setOf = kotlin_kotlin.$_$.s9;
|
|
96
|
+
var setOf_0 = kotlin_kotlin.$_$.t9;
|
|
97
|
+
var first = kotlin_kotlin.$_$.y7;
|
|
98
98
|
var getGrowth = kotlin_io_raspberryapps_game_engine_core.$_$.p1;
|
|
99
|
-
var compareTo = kotlin_kotlin.$_$.
|
|
100
|
-
var getNumberHashCode = kotlin_kotlin.$_$.
|
|
101
|
-
var emptyMap = kotlin_kotlin.$_$.
|
|
102
|
-
var distinct = kotlin_kotlin.$_$.
|
|
103
|
-
var mapCapacity = kotlin_kotlin.$_$.
|
|
99
|
+
var compareTo = kotlin_kotlin.$_$.dd;
|
|
100
|
+
var getNumberHashCode = kotlin_kotlin.$_$.jd;
|
|
101
|
+
var emptyMap = kotlin_kotlin.$_$.q7;
|
|
102
|
+
var distinct = kotlin_kotlin.$_$.m7;
|
|
103
|
+
var mapCapacity = kotlin_kotlin.$_$.x8;
|
|
104
104
|
var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.r;
|
|
105
|
-
var sum_0 = kotlin_kotlin.$_$.
|
|
105
|
+
var sum_0 = kotlin_kotlin.$_$.z9;
|
|
106
106
|
var NoSuchElementException_init_$Create$ = kotlin_kotlin.$_$.w1;
|
|
107
|
-
var toMutableList = kotlin_kotlin.$_$.
|
|
108
|
-
var Default_getInstance = kotlin_kotlin.$_$.
|
|
107
|
+
var toMutableList = kotlin_kotlin.$_$.oa;
|
|
108
|
+
var Default_getInstance = kotlin_kotlin.$_$.x4;
|
|
109
109
|
var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.o1;
|
|
110
|
-
var ensureNotNull = kotlin_kotlin.$_$.
|
|
110
|
+
var ensureNotNull = kotlin_kotlin.$_$.vj;
|
|
111
111
|
var getPoint = kotlin_io_raspberryapps_game_engine_core.$_$.q1;
|
|
112
112
|
var Companion_instance_0 = kotlin_io_raspberryapps_cardgame_core.$_$.n;
|
|
113
|
-
var get_indices_0 = kotlin_kotlin.$_$.
|
|
114
|
-
var toList = kotlin_kotlin.$_$.
|
|
115
|
-
var get_lastIndex = kotlin_kotlin.$_$.
|
|
113
|
+
var get_indices_0 = kotlin_kotlin.$_$.h8;
|
|
114
|
+
var toList = kotlin_kotlin.$_$.ia;
|
|
115
|
+
var get_lastIndex = kotlin_kotlin.$_$.p8;
|
|
116
116
|
var CardName_ACE_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.a;
|
|
117
117
|
var CardName_KING_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.d;
|
|
118
118
|
var CardName_QUEEN_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.f;
|
|
@@ -121,12 +121,12 @@
|
|
|
121
121
|
var CardName_NINE_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.e;
|
|
122
122
|
var CardName_EIGHT_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.b;
|
|
123
123
|
var CardName_SEVEN_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.g;
|
|
124
|
-
var until = kotlin_kotlin.$_$.
|
|
125
|
-
var checkCountOverflow = kotlin_kotlin.$_$.
|
|
126
|
-
var objectCreate = kotlin_kotlin.$_$.
|
|
124
|
+
var until = kotlin_kotlin.$_$.gf;
|
|
125
|
+
var checkCountOverflow = kotlin_kotlin.$_$.n6;
|
|
126
|
+
var objectCreate = kotlin_kotlin.$_$.ne;
|
|
127
127
|
var getValueInHand = kotlin_io_raspberryapps_game_engine_core.$_$.r1;
|
|
128
|
-
var to = kotlin_kotlin.$_$.
|
|
129
|
-
var firstOrNull = kotlin_kotlin.$_$.
|
|
128
|
+
var to = kotlin_kotlin.$_$.ik;
|
|
129
|
+
var firstOrNull = kotlin_kotlin.$_$.v7;
|
|
130
130
|
//endregion
|
|
131
131
|
//region block: pre-declaration
|
|
132
132
|
initMetadataForClass(BotAction, 'BotAction');
|
|
@@ -167,23 +167,23 @@
|
|
|
167
167
|
initMetadataForClass(sam$kotlin_Comparator$0_0, 'sam$kotlin_Comparator$0', VOID, VOID, [Comparator, FunctionAdapter]);
|
|
168
168
|
initMetadataForClass(WorldSampler, 'WorldSampler');
|
|
169
169
|
initMetadataForClass(SampledWorld, 'SampledWorld');
|
|
170
|
-
initMetadataForClass(FirstLegalActionPolicy, 'FirstLegalActionPolicy', FirstLegalActionPolicy);
|
|
171
170
|
initMetadataForClass(PimcBotPolicy, 'PimcBotPolicy');
|
|
171
|
+
initMetadataForClass(RandomPolicy, 'RandomPolicy', RandomPolicy);
|
|
172
172
|
initMetadataForClass(RolloutPolicy, 'RolloutPolicy', RolloutPolicy);
|
|
173
173
|
initMetadataForClass(SuitSelectionPolicy, 'SuitSelectionPolicy', SuitSelectionPolicy);
|
|
174
174
|
//endregion
|
|
175
175
|
function PlayCard(card, combinations) {
|
|
176
176
|
combinations = combinations === VOID ? null : combinations;
|
|
177
177
|
BotAction.call(this);
|
|
178
|
-
this.
|
|
179
|
-
this.
|
|
178
|
+
this.mb5_1 = card;
|
|
179
|
+
this.nb5_1 = combinations;
|
|
180
180
|
}
|
|
181
181
|
protoOf(PlayCard).toString = function () {
|
|
182
|
-
return 'PlayCard(card=' + this.
|
|
182
|
+
return 'PlayCard(card=' + this.mb5_1.toString() + ', combinations=' + toString(this.nb5_1) + ')';
|
|
183
183
|
};
|
|
184
184
|
protoOf(PlayCard).hashCode = function () {
|
|
185
|
-
var result = this.
|
|
186
|
-
result = imul(result, 31) + (this.
|
|
185
|
+
var result = this.mb5_1.hashCode();
|
|
186
|
+
result = imul(result, 31) + (this.nb5_1 == null ? 0 : hashCode(this.nb5_1)) | 0;
|
|
187
187
|
return result;
|
|
188
188
|
};
|
|
189
189
|
protoOf(PlayCard).equals = function (other) {
|
|
@@ -191,47 +191,47 @@
|
|
|
191
191
|
return true;
|
|
192
192
|
if (!(other instanceof PlayCard))
|
|
193
193
|
return false;
|
|
194
|
-
if (!this.
|
|
194
|
+
if (!this.mb5_1.equals(other.mb5_1))
|
|
195
195
|
return false;
|
|
196
|
-
if (!equals(this.
|
|
196
|
+
if (!equals(this.nb5_1, other.nb5_1))
|
|
197
197
|
return false;
|
|
198
198
|
return true;
|
|
199
199
|
};
|
|
200
200
|
function SelectSuit(suit) {
|
|
201
201
|
BotAction.call(this);
|
|
202
|
-
this.
|
|
202
|
+
this.ob5_1 = suit;
|
|
203
203
|
}
|
|
204
204
|
protoOf(SelectSuit).toString = function () {
|
|
205
|
-
return 'SelectSuit(suit=' + toString(this.
|
|
205
|
+
return 'SelectSuit(suit=' + toString(this.ob5_1) + ')';
|
|
206
206
|
};
|
|
207
207
|
protoOf(SelectSuit).hashCode = function () {
|
|
208
|
-
return this.
|
|
208
|
+
return this.ob5_1 == null ? 0 : this.ob5_1.hashCode();
|
|
209
209
|
};
|
|
210
210
|
protoOf(SelectSuit).equals = function (other) {
|
|
211
211
|
if (this === other)
|
|
212
212
|
return true;
|
|
213
213
|
if (!(other instanceof SelectSuit))
|
|
214
214
|
return false;
|
|
215
|
-
if (!equals(this.
|
|
215
|
+
if (!equals(this.ob5_1, other.ob5_1))
|
|
216
216
|
return false;
|
|
217
217
|
return true;
|
|
218
218
|
};
|
|
219
219
|
function AcceptCombinations(isAccepted) {
|
|
220
220
|
BotAction.call(this);
|
|
221
|
-
this.
|
|
221
|
+
this.pb5_1 = isAccepted;
|
|
222
222
|
}
|
|
223
223
|
protoOf(AcceptCombinations).toString = function () {
|
|
224
|
-
return 'AcceptCombinations(isAccepted=' + this.
|
|
224
|
+
return 'AcceptCombinations(isAccepted=' + this.pb5_1 + ')';
|
|
225
225
|
};
|
|
226
226
|
protoOf(AcceptCombinations).hashCode = function () {
|
|
227
|
-
return getBooleanHashCode(this.
|
|
227
|
+
return getBooleanHashCode(this.pb5_1);
|
|
228
228
|
};
|
|
229
229
|
protoOf(AcceptCombinations).equals = function (other) {
|
|
230
230
|
if (this === other)
|
|
231
231
|
return true;
|
|
232
232
|
if (!(other instanceof AcceptCombinations))
|
|
233
233
|
return false;
|
|
234
|
-
if (!(this.
|
|
234
|
+
if (!(this.pb5_1 === other.pb5_1))
|
|
235
235
|
return false;
|
|
236
236
|
return true;
|
|
237
237
|
};
|
|
@@ -241,51 +241,51 @@
|
|
|
241
241
|
trumpCard = trumpCard === VOID ? null : trumpCard;
|
|
242
242
|
suitSelectionHistory = suitSelectionHistory === VOID ? emptyList() : suitSelectionHistory;
|
|
243
243
|
handSize = handSize === VOID ? 8 : handSize;
|
|
244
|
-
this.
|
|
245
|
-
this.
|
|
246
|
-
this.
|
|
247
|
-
this.
|
|
248
|
-
this.
|
|
249
|
-
this.
|
|
250
|
-
this.
|
|
251
|
-
this.
|
|
252
|
-
this.
|
|
253
|
-
this.
|
|
254
|
-
this.
|
|
255
|
-
this.
|
|
256
|
-
this.
|
|
257
|
-
this.
|
|
258
|
-
this.
|
|
259
|
-
this.
|
|
260
|
-
this.
|
|
261
|
-
this.
|
|
262
|
-
this.
|
|
263
|
-
this.
|
|
244
|
+
this.qb5_1 = focalPlayerId;
|
|
245
|
+
this.rb5_1 = playerOrder;
|
|
246
|
+
this.sb5_1 = ownCards;
|
|
247
|
+
this.tb5_1 = playedCards;
|
|
248
|
+
this.ub5_1 = currentTrick;
|
|
249
|
+
this.vb5_1 = trump;
|
|
250
|
+
this.wb5_1 = trumpCard;
|
|
251
|
+
this.xb5_1 = isTrumpDeclarer;
|
|
252
|
+
this.yb5_1 = suitSelectionHistory;
|
|
253
|
+
this.zb5_1 = ownTeamScore;
|
|
254
|
+
this.ab6_1 = opponentTeamScore;
|
|
255
|
+
this.bb6_1 = ownRoundPoints;
|
|
256
|
+
this.cb6_1 = opponentRoundPoints;
|
|
257
|
+
this.db6_1 = trickNumber;
|
|
258
|
+
this.eb6_1 = positionInTrick;
|
|
259
|
+
this.fb6_1 = ownTeamWonLastTrick;
|
|
260
|
+
this.gb6_1 = declaredCombinations;
|
|
261
|
+
this.hb6_1 = rules;
|
|
262
|
+
this.ib6_1 = playersMode;
|
|
263
|
+
this.jb6_1 = handSize;
|
|
264
264
|
}
|
|
265
265
|
protoOf(BotGameState).toString = function () {
|
|
266
|
-
return 'BotGameState(focalPlayerId=' + this.
|
|
266
|
+
return 'BotGameState(focalPlayerId=' + this.qb5_1 + ', playerOrder=' + toString_0(this.rb5_1) + ', ownCards=' + toString_0(this.sb5_1) + ', playedCards=' + toString_0(this.tb5_1) + ', currentTrick=' + toString_0(this.ub5_1) + ', trump=' + toString(this.vb5_1) + ', trumpCard=' + toString(this.wb5_1) + ', isTrumpDeclarer=' + this.xb5_1 + ', suitSelectionHistory=' + toString_0(this.yb5_1) + ', ownTeamScore=' + this.zb5_1 + ', opponentTeamScore=' + this.ab6_1 + ', ownRoundPoints=' + this.bb6_1 + ', opponentRoundPoints=' + this.cb6_1 + ', trickNumber=' + this.db6_1 + ', positionInTrick=' + this.eb6_1 + ', ownTeamWonLastTrick=' + this.fb6_1 + ', declaredCombinations=' + toString_0(this.gb6_1) + ', rules=' + this.hb6_1.toString() + ', playersMode=' + this.ib6_1.toString() + ', handSize=' + this.jb6_1 + ')';
|
|
267
267
|
};
|
|
268
268
|
protoOf(BotGameState).hashCode = function () {
|
|
269
|
-
var result = getStringHashCode(this.
|
|
270
|
-
result = imul(result, 31) + hashCode(this.
|
|
271
|
-
result = imul(result, 31) + hashCode(this.
|
|
272
|
-
result = imul(result, 31) + hashCode(this.
|
|
273
|
-
result = imul(result, 31) + hashCode(this.
|
|
274
|
-
result = imul(result, 31) + (this.
|
|
275
|
-
result = imul(result, 31) + (this.
|
|
276
|
-
result = imul(result, 31) + getBooleanHashCode(this.
|
|
277
|
-
result = imul(result, 31) + hashCode(this.
|
|
278
|
-
result = imul(result, 31) + this.
|
|
279
|
-
result = imul(result, 31) + this.
|
|
280
|
-
result = imul(result, 31) + this.
|
|
281
|
-
result = imul(result, 31) + this.
|
|
282
|
-
result = imul(result, 31) + this.
|
|
283
|
-
result = imul(result, 31) + this.
|
|
284
|
-
result = imul(result, 31) + getBooleanHashCode(this.
|
|
285
|
-
result = imul(result, 31) + hashCode(this.
|
|
286
|
-
result = imul(result, 31) + this.
|
|
287
|
-
result = imul(result, 31) + this.
|
|
288
|
-
result = imul(result, 31) + this.
|
|
269
|
+
var result = getStringHashCode(this.qb5_1);
|
|
270
|
+
result = imul(result, 31) + hashCode(this.rb5_1) | 0;
|
|
271
|
+
result = imul(result, 31) + hashCode(this.sb5_1) | 0;
|
|
272
|
+
result = imul(result, 31) + hashCode(this.tb5_1) | 0;
|
|
273
|
+
result = imul(result, 31) + hashCode(this.ub5_1) | 0;
|
|
274
|
+
result = imul(result, 31) + (this.vb5_1 == null ? 0 : this.vb5_1.hashCode()) | 0;
|
|
275
|
+
result = imul(result, 31) + (this.wb5_1 == null ? 0 : this.wb5_1.hashCode()) | 0;
|
|
276
|
+
result = imul(result, 31) + getBooleanHashCode(this.xb5_1) | 0;
|
|
277
|
+
result = imul(result, 31) + hashCode(this.yb5_1) | 0;
|
|
278
|
+
result = imul(result, 31) + this.zb5_1 | 0;
|
|
279
|
+
result = imul(result, 31) + this.ab6_1 | 0;
|
|
280
|
+
result = imul(result, 31) + this.bb6_1 | 0;
|
|
281
|
+
result = imul(result, 31) + this.cb6_1 | 0;
|
|
282
|
+
result = imul(result, 31) + this.db6_1 | 0;
|
|
283
|
+
result = imul(result, 31) + this.eb6_1 | 0;
|
|
284
|
+
result = imul(result, 31) + getBooleanHashCode(this.fb6_1) | 0;
|
|
285
|
+
result = imul(result, 31) + hashCode(this.gb6_1) | 0;
|
|
286
|
+
result = imul(result, 31) + this.hb6_1.hashCode() | 0;
|
|
287
|
+
result = imul(result, 31) + this.ib6_1.hashCode() | 0;
|
|
288
|
+
result = imul(result, 31) + this.jb6_1 | 0;
|
|
289
289
|
return result;
|
|
290
290
|
};
|
|
291
291
|
protoOf(BotGameState).equals = function (other) {
|
|
@@ -293,45 +293,45 @@
|
|
|
293
293
|
return true;
|
|
294
294
|
if (!(other instanceof BotGameState))
|
|
295
295
|
return false;
|
|
296
|
-
if (!(this.
|
|
296
|
+
if (!(this.qb5_1 === other.qb5_1))
|
|
297
297
|
return false;
|
|
298
|
-
if (!equals(this.
|
|
298
|
+
if (!equals(this.rb5_1, other.rb5_1))
|
|
299
299
|
return false;
|
|
300
|
-
if (!equals(this.
|
|
300
|
+
if (!equals(this.sb5_1, other.sb5_1))
|
|
301
301
|
return false;
|
|
302
|
-
if (!equals(this.
|
|
302
|
+
if (!equals(this.tb5_1, other.tb5_1))
|
|
303
303
|
return false;
|
|
304
|
-
if (!equals(this.
|
|
304
|
+
if (!equals(this.ub5_1, other.ub5_1))
|
|
305
305
|
return false;
|
|
306
|
-
if (!equals(this.
|
|
306
|
+
if (!equals(this.vb5_1, other.vb5_1))
|
|
307
307
|
return false;
|
|
308
|
-
if (!equals(this.
|
|
308
|
+
if (!equals(this.wb5_1, other.wb5_1))
|
|
309
309
|
return false;
|
|
310
|
-
if (!(this.
|
|
310
|
+
if (!(this.xb5_1 === other.xb5_1))
|
|
311
311
|
return false;
|
|
312
|
-
if (!equals(this.
|
|
312
|
+
if (!equals(this.yb5_1, other.yb5_1))
|
|
313
313
|
return false;
|
|
314
|
-
if (!(this.
|
|
314
|
+
if (!(this.zb5_1 === other.zb5_1))
|
|
315
315
|
return false;
|
|
316
|
-
if (!(this.
|
|
316
|
+
if (!(this.ab6_1 === other.ab6_1))
|
|
317
317
|
return false;
|
|
318
|
-
if (!(this.
|
|
318
|
+
if (!(this.bb6_1 === other.bb6_1))
|
|
319
319
|
return false;
|
|
320
|
-
if (!(this.
|
|
320
|
+
if (!(this.cb6_1 === other.cb6_1))
|
|
321
321
|
return false;
|
|
322
|
-
if (!(this.
|
|
322
|
+
if (!(this.db6_1 === other.db6_1))
|
|
323
323
|
return false;
|
|
324
|
-
if (!(this.
|
|
324
|
+
if (!(this.eb6_1 === other.eb6_1))
|
|
325
325
|
return false;
|
|
326
|
-
if (!(this.
|
|
326
|
+
if (!(this.fb6_1 === other.fb6_1))
|
|
327
327
|
return false;
|
|
328
|
-
if (!equals(this.
|
|
328
|
+
if (!equals(this.gb6_1, other.gb6_1))
|
|
329
329
|
return false;
|
|
330
|
-
if (!this.
|
|
330
|
+
if (!this.hb6_1.equals(other.hb6_1))
|
|
331
331
|
return false;
|
|
332
|
-
if (!this.
|
|
332
|
+
if (!this.ib6_1.equals(other.ib6_1))
|
|
333
333
|
return false;
|
|
334
|
-
if (!(this.
|
|
334
|
+
if (!(this.jb6_1 === other.jb6_1))
|
|
335
335
|
return false;
|
|
336
336
|
return true;
|
|
337
337
|
};
|
|
@@ -339,35 +339,35 @@
|
|
|
339
339
|
var _iterator__ex2g4s = cards.t();
|
|
340
340
|
while (_iterator__ex2g4s.u()) {
|
|
341
341
|
var card = _iterator__ex2g4s.v();
|
|
342
|
-
vec[offset + CardLocationIndex_instance.
|
|
342
|
+
vec[offset + CardLocationIndex_instance.nb6(card) | 0] = 1.0;
|
|
343
343
|
}
|
|
344
344
|
return offset + 32 | 0;
|
|
345
345
|
}
|
|
346
346
|
function encodeCardOneHot($this, vec, offset, card) {
|
|
347
347
|
if (!(card == null)) {
|
|
348
|
-
vec[offset + CardLocationIndex_instance.
|
|
348
|
+
vec[offset + CardLocationIndex_instance.nb6(card) | 0] = 1.0;
|
|
349
349
|
}
|
|
350
350
|
return offset + 32 | 0;
|
|
351
351
|
}
|
|
352
352
|
function Companion() {
|
|
353
|
-
this.
|
|
354
|
-
this.
|
|
353
|
+
this.ob6_1 = 32;
|
|
354
|
+
this.pb6_1 = 162.0;
|
|
355
355
|
}
|
|
356
356
|
var Companion_instance_1;
|
|
357
357
|
function Companion_getInstance() {
|
|
358
358
|
return Companion_instance_1;
|
|
359
359
|
}
|
|
360
360
|
function sam$kotlin_Comparator$0(function_0) {
|
|
361
|
-
this.
|
|
361
|
+
this.qb6_1 = function_0;
|
|
362
362
|
}
|
|
363
363
|
protoOf(sam$kotlin_Comparator$0).hd = function (a, b) {
|
|
364
|
-
return this.
|
|
364
|
+
return this.qb6_1(a, b);
|
|
365
365
|
};
|
|
366
366
|
protoOf(sam$kotlin_Comparator$0).compare = function (a, b) {
|
|
367
367
|
return this.hd(a, b);
|
|
368
368
|
};
|
|
369
369
|
protoOf(sam$kotlin_Comparator$0).s3 = function () {
|
|
370
|
-
return this.
|
|
370
|
+
return this.qb6_1;
|
|
371
371
|
};
|
|
372
372
|
protoOf(sam$kotlin_Comparator$0).equals = function (other) {
|
|
373
373
|
var tmp;
|
|
@@ -389,33 +389,33 @@
|
|
|
389
389
|
};
|
|
390
390
|
function BeliefFeatureEncoder$encode$lambda(a, b) {
|
|
391
391
|
// Inline function 'kotlin.comparisons.compareValuesBy' call
|
|
392
|
-
var tmp = a.
|
|
393
|
-
var tmp$ret$1 = b.
|
|
392
|
+
var tmp = a.i8j_1;
|
|
393
|
+
var tmp$ret$1 = b.i8j_1;
|
|
394
394
|
return compareValues(tmp, tmp$ret$1);
|
|
395
395
|
}
|
|
396
396
|
function BeliefFeatureEncoder(playersMode) {
|
|
397
|
-
this.
|
|
398
|
-
this.
|
|
399
|
-
this.
|
|
397
|
+
this.rb6_1 = playersMode;
|
|
398
|
+
this.sb6_1 = this.rb6_1.count;
|
|
399
|
+
this.tb6_1 = this.sb6_1 - 1 | 0;
|
|
400
400
|
var tmp = this;
|
|
401
401
|
// Inline function 'kotlin.run' call
|
|
402
|
-
tmp.
|
|
402
|
+
tmp.ub6_1 = (((((((((32 + imul(32, this.sb6_1) | 0) + 96 | 0) + 4 | 0) + 32 | 0) + 1 | 0) + imul(this.sb6_1, 4) | 0) + 8 | 0) + 4 | 0) + 4 | 0) + this.tb6_1 | 0;
|
|
403
403
|
}
|
|
404
|
-
protoOf(BeliefFeatureEncoder).
|
|
405
|
-
var vec = new Float32Array(this.
|
|
404
|
+
protoOf(BeliefFeatureEncoder).vb6 = function (state) {
|
|
405
|
+
var vec = new Float32Array(this.ub6_1);
|
|
406
406
|
var offset = 0;
|
|
407
|
-
var focalIndex = state.
|
|
408
|
-
var n = state.
|
|
409
|
-
offset = encodeCardSet(this, vec, offset, state.
|
|
407
|
+
var focalIndex = state.rb5_1.o2(state.qb5_1);
|
|
408
|
+
var n = state.rb5_1.g1();
|
|
409
|
+
offset = encodeCardSet(this, vec, offset, state.sb5_1);
|
|
410
410
|
var inductionVariable = 0;
|
|
411
|
-
var last = this.
|
|
411
|
+
var last = this.sb6_1;
|
|
412
412
|
if (inductionVariable < last)
|
|
413
413
|
do {
|
|
414
414
|
var relPos = inductionVariable;
|
|
415
415
|
inductionVariable = inductionVariable + 1 | 0;
|
|
416
416
|
var absIdx = (focalIndex + relPos | 0) % n | 0;
|
|
417
417
|
// Inline function 'kotlin.collections.getOrElse' call
|
|
418
|
-
var this_0 = state.
|
|
418
|
+
var this_0 = state.rb5_1;
|
|
419
419
|
var tmp;
|
|
420
420
|
if (0 <= absIdx ? absIdx < this_0.g1() : false) {
|
|
421
421
|
tmp = this_0.h1(absIdx);
|
|
@@ -424,12 +424,12 @@
|
|
|
424
424
|
}
|
|
425
425
|
var pid = tmp;
|
|
426
426
|
var tmp_0 = offset;
|
|
427
|
-
var tmp0_elvis_lhs = state.
|
|
427
|
+
var tmp0_elvis_lhs = state.tb5_1.v2(pid);
|
|
428
428
|
offset = encodeCardSet(this, vec, tmp_0, tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs);
|
|
429
429
|
}
|
|
430
430
|
while (inductionVariable < last);
|
|
431
431
|
// Inline function 'kotlin.collections.sortedBy' call
|
|
432
|
-
var this_1 = state.
|
|
432
|
+
var this_1 = state.ub5_1;
|
|
433
433
|
// Inline function 'kotlin.comparisons.compareBy' call
|
|
434
434
|
var tmp_1 = BeliefFeatureEncoder$encode$lambda;
|
|
435
435
|
var tmp$ret$2 = new sam$kotlin_Comparator$0(tmp_1);
|
|
@@ -440,28 +440,28 @@
|
|
|
440
440
|
var slot = inductionVariable_0;
|
|
441
441
|
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
442
442
|
var tmp1_safe_receiver = getOrNull(sortedTrick, slot);
|
|
443
|
-
var card = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.
|
|
443
|
+
var card = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.j8j_1;
|
|
444
444
|
offset = encodeCardOneHot(this, vec, offset, card);
|
|
445
445
|
}
|
|
446
446
|
while (inductionVariable_0 <= 2);
|
|
447
|
-
var trump = state.
|
|
447
|
+
var trump = state.vb5_1;
|
|
448
448
|
if (!(trump == null)) {
|
|
449
449
|
vec[offset + trump.a1_1 | 0] = 1.0;
|
|
450
450
|
}
|
|
451
451
|
offset = offset + 4 | 0;
|
|
452
|
-
offset = encodeCardOneHot(this, vec, offset, state.
|
|
452
|
+
offset = encodeCardOneHot(this, vec, offset, state.wb5_1);
|
|
453
453
|
var _unary__edvuaz = offset;
|
|
454
454
|
offset = _unary__edvuaz + 1 | 0;
|
|
455
|
-
vec[_unary__edvuaz] = state.
|
|
455
|
+
vec[_unary__edvuaz] = state.xb5_1 ? 1.0 : 0.0;
|
|
456
456
|
var inductionVariable_1 = 0;
|
|
457
|
-
var last_0 = this.
|
|
457
|
+
var last_0 = this.sb6_1;
|
|
458
458
|
if (inductionVariable_1 < last_0)
|
|
459
459
|
do {
|
|
460
460
|
var relPos_0 = inductionVariable_1;
|
|
461
461
|
inductionVariable_1 = inductionVariable_1 + 1 | 0;
|
|
462
462
|
var absIdx_0 = (focalIndex + relPos_0 | 0) % n | 0;
|
|
463
463
|
// Inline function 'kotlin.collections.getOrElse' call
|
|
464
|
-
var this_2 = state.
|
|
464
|
+
var this_2 = state.rb5_1;
|
|
465
465
|
var tmp_2;
|
|
466
466
|
if (0 <= absIdx_0 ? absIdx_0 < this_2.g1() : false) {
|
|
467
467
|
tmp_2 = this_2.h1(absIdx_0);
|
|
@@ -474,7 +474,7 @@
|
|
|
474
474
|
do {
|
|
475
475
|
var suitOrd = inductionVariable_2;
|
|
476
476
|
inductionVariable_2 = inductionVariable_2 + 1 | 0;
|
|
477
|
-
var tmp0 = state.
|
|
477
|
+
var tmp0 = state.yb5_1;
|
|
478
478
|
var tmp$ret$6;
|
|
479
479
|
$l$block_0: {
|
|
480
480
|
// Inline function 'kotlin.collections.any' call
|
|
@@ -491,7 +491,7 @@
|
|
|
491
491
|
var _iterator__ex2g4s = tmp0.t();
|
|
492
492
|
while (_iterator__ex2g4s.u()) {
|
|
493
493
|
var element = _iterator__ex2g4s.v();
|
|
494
|
-
if (element.
|
|
494
|
+
if (element.wb6_1 === pid_0 && element.xb6_1 == null) {
|
|
495
495
|
tmp$ret$6 = true;
|
|
496
496
|
break $l$block_0;
|
|
497
497
|
}
|
|
@@ -506,34 +506,34 @@
|
|
|
506
506
|
while (inductionVariable_2 < 4);
|
|
507
507
|
}
|
|
508
508
|
while (inductionVariable_1 < last_0);
|
|
509
|
-
var trickIdx = coerceIn(state.
|
|
509
|
+
var trickIdx = coerceIn(state.db6_1, 0, 7);
|
|
510
510
|
vec[offset + trickIdx | 0] = 1.0;
|
|
511
511
|
offset = offset + 8 | 0;
|
|
512
|
-
var posIdx = coerceIn(state.
|
|
512
|
+
var posIdx = coerceIn(state.eb6_1, 0, 3);
|
|
513
513
|
vec[offset + posIdx | 0] = 1.0;
|
|
514
514
|
offset = offset + 4 | 0;
|
|
515
|
-
var winTarget = coerceAtLeast(state.
|
|
515
|
+
var winTarget = coerceAtLeast(state.hb6_1.winTargetPoints, 1.0);
|
|
516
516
|
var _unary__edvuaz_1 = offset;
|
|
517
517
|
offset = _unary__edvuaz_1 + 1 | 0;
|
|
518
|
-
vec[_unary__edvuaz_1] = state.
|
|
518
|
+
vec[_unary__edvuaz_1] = state.zb5_1 / winTarget;
|
|
519
519
|
var _unary__edvuaz_2 = offset;
|
|
520
520
|
offset = _unary__edvuaz_2 + 1 | 0;
|
|
521
|
-
vec[_unary__edvuaz_2] = state.
|
|
521
|
+
vec[_unary__edvuaz_2] = state.ab6_1 / winTarget;
|
|
522
522
|
var _unary__edvuaz_3 = offset;
|
|
523
523
|
offset = _unary__edvuaz_3 + 1 | 0;
|
|
524
|
-
vec[_unary__edvuaz_3] = state.
|
|
524
|
+
vec[_unary__edvuaz_3] = state.bb6_1 / 162.0;
|
|
525
525
|
var _unary__edvuaz_4 = offset;
|
|
526
526
|
offset = _unary__edvuaz_4 + 1 | 0;
|
|
527
|
-
vec[_unary__edvuaz_4] = state.
|
|
527
|
+
vec[_unary__edvuaz_4] = state.cb6_1 / 162.0;
|
|
528
528
|
var inductionVariable_3 = 1;
|
|
529
|
-
var last_1 = this.
|
|
529
|
+
var last_1 = this.tb6_1;
|
|
530
530
|
if (inductionVariable_3 <= last_1)
|
|
531
531
|
do {
|
|
532
532
|
var relPos_1 = inductionVariable_3;
|
|
533
533
|
inductionVariable_3 = inductionVariable_3 + 1 | 0;
|
|
534
534
|
var absIdx_1 = (focalIndex + relPos_1 | 0) % n | 0;
|
|
535
535
|
// Inline function 'kotlin.collections.getOrElse' call
|
|
536
|
-
var this_3 = state.
|
|
536
|
+
var this_3 = state.rb5_1;
|
|
537
537
|
var tmp_4;
|
|
538
538
|
if (0 <= absIdx_1 ? absIdx_1 < this_3.g1() : false) {
|
|
539
539
|
tmp_4 = this_3.h1(absIdx_1);
|
|
@@ -541,54 +541,54 @@
|
|
|
541
541
|
tmp_4 = '';
|
|
542
542
|
}
|
|
543
543
|
var pid_1 = tmp_4;
|
|
544
|
-
var tmp2_elvis_lhs = state.
|
|
544
|
+
var tmp2_elvis_lhs = state.tb5_1.v2(pid_1);
|
|
545
545
|
var played = (tmp2_elvis_lhs == null ? emptyList() : tmp2_elvis_lhs).g1();
|
|
546
|
-
var remaining = coerceAtLeast_0(state.
|
|
546
|
+
var remaining = coerceAtLeast_0(state.jb6_1 - played | 0, 0);
|
|
547
547
|
var _unary__edvuaz_5 = offset;
|
|
548
548
|
offset = _unary__edvuaz_5 + 1 | 0;
|
|
549
|
-
vec[_unary__edvuaz_5] = remaining / coerceAtLeast(state.
|
|
549
|
+
vec[_unary__edvuaz_5] = remaining / coerceAtLeast(state.jb6_1, 1.0);
|
|
550
550
|
}
|
|
551
551
|
while (!(relPos_1 === last_1));
|
|
552
552
|
// Inline function 'kotlin.check' call
|
|
553
|
-
if (!(offset === this.
|
|
554
|
-
var message = 'BeliefFeatureEncoder: wrote ' + offset + ' floats but expected ' + this.
|
|
553
|
+
if (!(offset === this.ub6_1)) {
|
|
554
|
+
var message = 'BeliefFeatureEncoder: wrote ' + offset + ' floats but expected ' + this.ub6_1;
|
|
555
555
|
throw IllegalStateException_init_$Create$(toString_0(message));
|
|
556
556
|
}
|
|
557
557
|
return vec;
|
|
558
558
|
};
|
|
559
559
|
function CardBeliefNetwork(engine, encoder, playersMode) {
|
|
560
|
-
this.
|
|
561
|
-
this.
|
|
562
|
-
this.
|
|
563
|
-
this.
|
|
564
|
-
this.
|
|
560
|
+
this.zb6_1 = engine;
|
|
561
|
+
this.ab7_1 = encoder;
|
|
562
|
+
this.bb7_1 = playersMode;
|
|
563
|
+
this.cb7_1 = CardLocationIndex_instance.eb7(this.bb7_1);
|
|
564
|
+
this.db7_1 = false;
|
|
565
565
|
}
|
|
566
|
-
protoOf(CardBeliefNetwork).
|
|
567
|
-
this.
|
|
568
|
-
this.
|
|
566
|
+
protoOf(CardBeliefNetwork).fb7 = function (modelBytes) {
|
|
567
|
+
this.zb6_1.fb7(modelBytes);
|
|
568
|
+
this.db7_1 = true;
|
|
569
569
|
};
|
|
570
|
-
protoOf(CardBeliefNetwork).
|
|
570
|
+
protoOf(CardBeliefNetwork).gb7 = function (state) {
|
|
571
571
|
var knownCards = booleanArray(32);
|
|
572
|
-
var _iterator__ex2g4s = state.
|
|
572
|
+
var _iterator__ex2g4s = state.sb5_1.t();
|
|
573
573
|
while (_iterator__ex2g4s.u()) {
|
|
574
574
|
var card = _iterator__ex2g4s.v();
|
|
575
|
-
knownCards[CardLocationIndex_instance.
|
|
575
|
+
knownCards[CardLocationIndex_instance.nb6(card)] = true;
|
|
576
576
|
}
|
|
577
577
|
// Inline function 'kotlin.collections.iterator' call
|
|
578
|
-
var _iterator__ex2g4s_0 = state.
|
|
578
|
+
var _iterator__ex2g4s_0 = state.tb5_1.m1().t();
|
|
579
579
|
while (_iterator__ex2g4s_0.u()) {
|
|
580
580
|
// Inline function 'kotlin.collections.component2' call
|
|
581
581
|
var cards = _iterator__ex2g4s_0.v().o1();
|
|
582
582
|
var _iterator__ex2g4s_1 = cards.t();
|
|
583
583
|
while (_iterator__ex2g4s_1.u()) {
|
|
584
584
|
var card_0 = _iterator__ex2g4s_1.v();
|
|
585
|
-
knownCards[CardLocationIndex_instance.
|
|
585
|
+
knownCards[CardLocationIndex_instance.nb6(card_0)] = true;
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
|
-
var _iterator__ex2g4s_2 = state.
|
|
588
|
+
var _iterator__ex2g4s_2 = state.ub5_1.t();
|
|
589
589
|
while (_iterator__ex2g4s_2.u()) {
|
|
590
590
|
var cot = _iterator__ex2g4s_2.v();
|
|
591
|
-
knownCards[CardLocationIndex_instance.
|
|
591
|
+
knownCards[CardLocationIndex_instance.nb6(cot.j8j_1)] = true;
|
|
592
592
|
}
|
|
593
593
|
// Inline function 'kotlin.collections.mutableListOf' call
|
|
594
594
|
var hiddenIndices = ArrayList_init_$Create$();
|
|
@@ -602,8 +602,8 @@
|
|
|
602
602
|
}
|
|
603
603
|
}
|
|
604
604
|
while (inductionVariable < 32);
|
|
605
|
-
if (!this.
|
|
606
|
-
var uniform = 1.0 / this.
|
|
605
|
+
if (!this.db7_1) {
|
|
606
|
+
var uniform = 1.0 / this.cb7_1;
|
|
607
607
|
var tmp = 0;
|
|
608
608
|
var tmp_0 = hiddenIndices.g1();
|
|
609
609
|
// Inline function 'kotlin.arrayOfNulls' call
|
|
@@ -611,7 +611,7 @@
|
|
|
611
611
|
while (tmp < tmp_0) {
|
|
612
612
|
var tmp_2 = tmp;
|
|
613
613
|
var tmp_3 = 0;
|
|
614
|
-
var tmp_4 = this.
|
|
614
|
+
var tmp_4 = this.cb7_1;
|
|
615
615
|
var tmp_5 = new Float32Array(tmp_4);
|
|
616
616
|
while (tmp_3 < tmp_4) {
|
|
617
617
|
tmp_5[tmp_3] = uniform;
|
|
@@ -623,8 +623,8 @@
|
|
|
623
623
|
var matrix = tmp_1;
|
|
624
624
|
return new CardBeliefResult(matrix, toIntArray(hiddenIndices));
|
|
625
625
|
}
|
|
626
|
-
var features = this.
|
|
627
|
-
var rawOutput = this.
|
|
626
|
+
var features = this.ab7_1.vb6(state);
|
|
627
|
+
var rawOutput = this.zb6_1.hb7(features);
|
|
628
628
|
var tmp_6 = 0;
|
|
629
629
|
var tmp_7 = hiddenIndices.g1();
|
|
630
630
|
// Inline function 'kotlin.arrayOfNulls' call
|
|
@@ -632,9 +632,9 @@
|
|
|
632
632
|
while (tmp_6 < tmp_7) {
|
|
633
633
|
var tmp_9 = tmp_6;
|
|
634
634
|
var cardIdx = hiddenIndices.h1(tmp_9);
|
|
635
|
-
var rowStart = imul(cardIdx, this.
|
|
635
|
+
var rowStart = imul(cardIdx, this.cb7_1);
|
|
636
636
|
var tmp_10 = 0;
|
|
637
|
-
var tmp_11 = this.
|
|
637
|
+
var tmp_11 = this.cb7_1;
|
|
638
638
|
var tmp_12 = new Float32Array(tmp_11);
|
|
639
639
|
while (tmp_10 < tmp_11) {
|
|
640
640
|
var tmp_13 = tmp_10;
|
|
@@ -650,15 +650,15 @@
|
|
|
650
650
|
tmp_10 = tmp_10 + 1 | 0;
|
|
651
651
|
}
|
|
652
652
|
var logits = tmp_12;
|
|
653
|
-
tmp_8[tmp_9] = Companion_instance_3.
|
|
653
|
+
tmp_8[tmp_9] = Companion_instance_3.jb7(logits);
|
|
654
654
|
tmp_6 = tmp_6 + 1 | 0;
|
|
655
655
|
}
|
|
656
656
|
var matrix_0 = tmp_8;
|
|
657
657
|
return new CardBeliefResult(matrix_0, toIntArray(hiddenIndices));
|
|
658
658
|
};
|
|
659
659
|
function CardBeliefResult(beliefMatrix, hiddenCardIndices) {
|
|
660
|
-
this.
|
|
661
|
-
this.
|
|
660
|
+
this.kb7_1 = beliefMatrix;
|
|
661
|
+
this.lb7_1 = hiddenCardIndices;
|
|
662
662
|
}
|
|
663
663
|
protoOf(CardBeliefResult).equals = function (other) {
|
|
664
664
|
if (this === other)
|
|
@@ -668,8 +668,8 @@
|
|
|
668
668
|
if (!(other instanceof CardBeliefResult))
|
|
669
669
|
THROW_CCE();
|
|
670
670
|
var tmp;
|
|
671
|
-
if (contentEquals_0(this.
|
|
672
|
-
var tmp0 = get_indices(this.
|
|
671
|
+
if (contentEquals_0(this.lb7_1, other.lb7_1) && this.kb7_1.length === other.kb7_1.length) {
|
|
672
|
+
var tmp0 = get_indices(this.kb7_1);
|
|
673
673
|
var tmp$ret$0;
|
|
674
674
|
$l$block_0: {
|
|
675
675
|
// Inline function 'kotlin.collections.all' call
|
|
@@ -690,7 +690,7 @@
|
|
|
690
690
|
var element = inductionVariable;
|
|
691
691
|
inductionVariable = inductionVariable + 1 | 0;
|
|
692
692
|
var it = element;
|
|
693
|
-
if (!contentEquals(this.
|
|
693
|
+
if (!contentEquals(this.kb7_1[it], other.kb7_1[it])) {
|
|
694
694
|
tmp$ret$0 = false;
|
|
695
695
|
break $l$block_0;
|
|
696
696
|
}
|
|
@@ -705,22 +705,22 @@
|
|
|
705
705
|
return tmp;
|
|
706
706
|
};
|
|
707
707
|
protoOf(CardBeliefResult).hashCode = function () {
|
|
708
|
-
var result = contentHashCode(this.
|
|
709
|
-
result = imul(31, result) + contentDeepHashCode(this.
|
|
708
|
+
var result = contentHashCode(this.lb7_1);
|
|
709
|
+
result = imul(31, result) + contentDeepHashCode(this.kb7_1) | 0;
|
|
710
710
|
return result;
|
|
711
711
|
};
|
|
712
712
|
protoOf(CardBeliefResult).toString = function () {
|
|
713
|
-
return 'CardBeliefResult(beliefMatrix=' + toString_0(this.
|
|
713
|
+
return 'CardBeliefResult(beliefMatrix=' + toString_0(this.kb7_1) + ', hiddenCardIndices=' + toString_0(this.lb7_1) + ')';
|
|
714
714
|
};
|
|
715
715
|
function CardLocationIndex() {
|
|
716
|
-
this.
|
|
717
|
-
this.
|
|
718
|
-
this.
|
|
716
|
+
this.kb6_1 = 32;
|
|
717
|
+
this.lb6_1 = 4;
|
|
718
|
+
this.mb6_1 = 8;
|
|
719
719
|
}
|
|
720
|
-
protoOf(CardLocationIndex).
|
|
721
|
-
return imul(card.
|
|
720
|
+
protoOf(CardLocationIndex).nb6 = function (card) {
|
|
721
|
+
return imul(card.w6l().a1_1, 8) + card.m().a1_1 | 0;
|
|
722
722
|
};
|
|
723
|
-
protoOf(CardLocationIndex).
|
|
723
|
+
protoOf(CardLocationIndex).eb7 = function (mode) {
|
|
724
724
|
return mode.count - 1 | 0;
|
|
725
725
|
};
|
|
726
726
|
var CardLocationIndex_instance;
|
|
@@ -728,17 +728,17 @@
|
|
|
728
728
|
return CardLocationIndex_instance;
|
|
729
729
|
}
|
|
730
730
|
function BotModelConfig(playersMode, rulesSetType, modelBytes) {
|
|
731
|
-
this.
|
|
732
|
-
this.
|
|
733
|
-
this.
|
|
731
|
+
this.mb7_1 = playersMode;
|
|
732
|
+
this.nb7_1 = rulesSetType;
|
|
733
|
+
this.ob7_1 = modelBytes;
|
|
734
734
|
}
|
|
735
735
|
protoOf(BotModelConfig).toString = function () {
|
|
736
|
-
return 'BotModelConfig(playersMode=' + this.
|
|
736
|
+
return 'BotModelConfig(playersMode=' + this.mb7_1.toString() + ', rulesSetType=' + this.nb7_1.toString() + ', modelBytes=' + toString_0(this.ob7_1) + ')';
|
|
737
737
|
};
|
|
738
738
|
protoOf(BotModelConfig).hashCode = function () {
|
|
739
|
-
var result = this.
|
|
740
|
-
result = imul(result, 31) + this.
|
|
741
|
-
result = imul(result, 31) + hashCode(this.
|
|
739
|
+
var result = this.mb7_1.hashCode();
|
|
740
|
+
result = imul(result, 31) + this.nb7_1.hashCode() | 0;
|
|
741
|
+
result = imul(result, 31) + hashCode(this.ob7_1) | 0;
|
|
742
742
|
return result;
|
|
743
743
|
};
|
|
744
744
|
protoOf(BotModelConfig).equals = function (other) {
|
|
@@ -746,43 +746,43 @@
|
|
|
746
746
|
return true;
|
|
747
747
|
if (!(other instanceof BotModelConfig))
|
|
748
748
|
return false;
|
|
749
|
-
if (!this.
|
|
749
|
+
if (!this.mb7_1.equals(other.mb7_1))
|
|
750
750
|
return false;
|
|
751
|
-
if (!this.
|
|
751
|
+
if (!this.nb7_1.equals(other.nb7_1))
|
|
752
752
|
return false;
|
|
753
|
-
if (!equals(this.
|
|
753
|
+
if (!equals(this.ob7_1, other.ob7_1))
|
|
754
754
|
return false;
|
|
755
755
|
return true;
|
|
756
756
|
};
|
|
757
757
|
function BotModelRegistry() {
|
|
758
758
|
var tmp = this;
|
|
759
759
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
760
|
-
tmp.
|
|
760
|
+
tmp.pb7_1 = LinkedHashMap_init_$Create$();
|
|
761
761
|
}
|
|
762
|
-
protoOf(BotModelRegistry).
|
|
763
|
-
var tmp0 = this.
|
|
764
|
-
var tmp2 = new BotModelKey(config.
|
|
762
|
+
protoOf(BotModelRegistry).qb7 = function (config) {
|
|
763
|
+
var tmp0 = this.pb7_1;
|
|
764
|
+
var tmp2 = new BotModelKey(config.mb7_1, config.nb7_1);
|
|
765
765
|
// Inline function 'kotlin.collections.set' call
|
|
766
|
-
var value = config.
|
|
766
|
+
var value = config.ob7_1;
|
|
767
767
|
tmp0.g3(tmp2, value);
|
|
768
768
|
};
|
|
769
|
-
protoOf(BotModelRegistry).
|
|
770
|
-
return this.
|
|
769
|
+
protoOf(BotModelRegistry).rb7 = function (playersMode, rulesSetType) {
|
|
770
|
+
return this.pb7_1.v2(new BotModelKey(playersMode, rulesSetType));
|
|
771
771
|
};
|
|
772
|
-
protoOf(BotModelRegistry).
|
|
772
|
+
protoOf(BotModelRegistry).sb7 = function () {
|
|
773
773
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
774
|
-
return !this.
|
|
774
|
+
return !this.pb7_1.r();
|
|
775
775
|
};
|
|
776
776
|
function BotModelKey(playersMode, rulesSetType) {
|
|
777
|
-
this.
|
|
778
|
-
this.
|
|
777
|
+
this.tb7_1 = playersMode;
|
|
778
|
+
this.ub7_1 = rulesSetType;
|
|
779
779
|
}
|
|
780
780
|
protoOf(BotModelKey).toString = function () {
|
|
781
|
-
return 'BotModelKey(playersMode=' + this.
|
|
781
|
+
return 'BotModelKey(playersMode=' + this.tb7_1.toString() + ', rulesSetType=' + this.ub7_1.toString() + ')';
|
|
782
782
|
};
|
|
783
783
|
protoOf(BotModelKey).hashCode = function () {
|
|
784
|
-
var result = this.
|
|
785
|
-
result = imul(result, 31) + this.
|
|
784
|
+
var result = this.tb7_1.hashCode();
|
|
785
|
+
result = imul(result, 31) + this.ub7_1.hashCode() | 0;
|
|
786
786
|
return result;
|
|
787
787
|
};
|
|
788
788
|
protoOf(BotModelKey).equals = function (other) {
|
|
@@ -790,9 +790,9 @@
|
|
|
790
790
|
return true;
|
|
791
791
|
if (!(other instanceof BotModelKey))
|
|
792
792
|
return false;
|
|
793
|
-
if (!this.
|
|
793
|
+
if (!this.tb7_1.equals(other.tb7_1))
|
|
794
794
|
return false;
|
|
795
|
-
if (!this.
|
|
795
|
+
if (!this.ub7_1.equals(other.ub7_1))
|
|
796
796
|
return false;
|
|
797
797
|
return true;
|
|
798
798
|
};
|
|
@@ -825,13 +825,13 @@
|
|
|
825
825
|
while (_iterator__ex2g4s_1.u()) {
|
|
826
826
|
var element = _iterator__ex2g4s_1.v();
|
|
827
827
|
// Inline function 'kotlin.collections.filter' call
|
|
828
|
-
var tmp0_0 = element.
|
|
828
|
+
var tmp0_0 = element.n91_1;
|
|
829
829
|
// Inline function 'kotlin.collections.filterTo' call
|
|
830
830
|
var destination_1 = ArrayList_init_$Create$();
|
|
831
831
|
var _iterator__ex2g4s_2 = tmp0_0.t();
|
|
832
832
|
while (_iterator__ex2g4s_2.u()) {
|
|
833
833
|
var element_0 = _iterator__ex2g4s_2.v();
|
|
834
|
-
if (element_0.
|
|
834
|
+
if (element_0.h8j_1 === p) {
|
|
835
835
|
destination_1.e1(element_0);
|
|
836
836
|
}
|
|
837
837
|
}
|
|
@@ -841,7 +841,7 @@
|
|
|
841
841
|
var _iterator__ex2g4s_3 = destination_1.t();
|
|
842
842
|
while (_iterator__ex2g4s_3.u()) {
|
|
843
843
|
var item_0 = _iterator__ex2g4s_3.v();
|
|
844
|
-
var tmp$ret$7 = item_0.
|
|
844
|
+
var tmp$ret$7 = item_0.j8j_1;
|
|
845
845
|
destination_2.e1(tmp$ret$7);
|
|
846
846
|
}
|
|
847
847
|
var list = destination_2;
|
|
@@ -854,10 +854,10 @@
|
|
|
854
854
|
var opponentRoundPoints;
|
|
855
855
|
if (playersMode.isTeamGame && players.g1() === 4) {
|
|
856
856
|
var partnerIndex = (focalIndex + 2 | 0) % 4 | 0;
|
|
857
|
-
ownRoundPoints = table.players.h1(focalIndex).
|
|
858
|
-
opponentRoundPoints = table.players.h1((focalIndex + 1 | 0) % 4 | 0).
|
|
857
|
+
ownRoundPoints = table.players.h1(focalIndex).z7y_1.q85_1 + table.players.h1(partnerIndex).z7y_1.q85_1 | 0;
|
|
858
|
+
opponentRoundPoints = table.players.h1((focalIndex + 1 | 0) % 4 | 0).z7y_1.q85_1 + table.players.h1((focalIndex + 3 | 0) % 4 | 0).z7y_1.q85_1 | 0;
|
|
859
859
|
} else {
|
|
860
|
-
ownRoundPoints = table.players.h1(focalIndex).
|
|
860
|
+
ownRoundPoints = table.players.h1(focalIndex).z7y_1.q85_1;
|
|
861
861
|
// Inline function 'kotlin.collections.filter' call
|
|
862
862
|
var tmp0_1 = table.players;
|
|
863
863
|
// Inline function 'kotlin.collections.filterTo' call
|
|
@@ -875,7 +875,7 @@
|
|
|
875
875
|
while (_iterator__ex2g4s_5.u()) {
|
|
876
876
|
var element_2 = _iterator__ex2g4s_5.v();
|
|
877
877
|
var tmp = sum;
|
|
878
|
-
sum = tmp + element_2.
|
|
878
|
+
sum = tmp + element_2.z7y_1.q85_1 | 0;
|
|
879
879
|
}
|
|
880
880
|
opponentRoundPoints = sum;
|
|
881
881
|
}
|
|
@@ -889,7 +889,7 @@
|
|
|
889
889
|
var _iterator__ex2g4s_6 = tmp0_2.t();
|
|
890
890
|
while (_iterator__ex2g4s_6.u()) {
|
|
891
891
|
var element_3 = _iterator__ex2g4s_6.v();
|
|
892
|
-
if (element_3.
|
|
892
|
+
if (element_3.x7y_1.o84_1) {
|
|
893
893
|
tmp$ret$20 = element_3;
|
|
894
894
|
break $l$block;
|
|
895
895
|
}
|
|
@@ -904,13 +904,13 @@
|
|
|
904
904
|
while (_iterator__ex2g4s_7.u()) {
|
|
905
905
|
var p_0 = _iterator__ex2g4s_7.v();
|
|
906
906
|
// Inline function 'kotlin.collections.filter' call
|
|
907
|
-
var tmp0_3 = p_0.
|
|
907
|
+
var tmp0_3 = p_0.z7y_1.r85_1;
|
|
908
908
|
// Inline function 'kotlin.collections.filterTo' call
|
|
909
909
|
var destination_4 = ArrayList_init_$Create$();
|
|
910
910
|
var _iterator__ex2g4s_8 = tmp0_3.t();
|
|
911
911
|
while (_iterator__ex2g4s_8.u()) {
|
|
912
912
|
var element_4 = _iterator__ex2g4s_8.v();
|
|
913
|
-
if (element_4.
|
|
913
|
+
if (element_4.d8a_1.equals(CombinationState_ACCEPTED_getInstance())) {
|
|
914
914
|
destination_4.e1(element_4);
|
|
915
915
|
}
|
|
916
916
|
}
|
|
@@ -920,7 +920,7 @@
|
|
|
920
920
|
var _iterator__ex2g4s_9 = destination_4.t();
|
|
921
921
|
while (_iterator__ex2g4s_9.u()) {
|
|
922
922
|
var item_1 = _iterator__ex2g4s_9.v();
|
|
923
|
-
var tmp$ret$25 = item_1.
|
|
923
|
+
var tmp$ret$25 = item_1.c8a_1;
|
|
924
924
|
destination_5.e1(tmp$ret$25);
|
|
925
925
|
}
|
|
926
926
|
var combos = destination_5;
|
|
@@ -936,11 +936,11 @@
|
|
|
936
936
|
if (!table.bribes.r()) {
|
|
937
937
|
var focalPlayer = table.players.h1(focalIndex);
|
|
938
938
|
var tmp_1;
|
|
939
|
-
if (focalPlayer.
|
|
939
|
+
if (focalPlayer.x7y_1.m84_1) {
|
|
940
940
|
tmp_1 = true;
|
|
941
941
|
} else if (playersMode.isTeamGame && players.g1() === 4) {
|
|
942
942
|
var partnerIndex_0 = (focalIndex + 2 | 0) % 4 | 0;
|
|
943
|
-
tmp_1 = table.players.h1(partnerIndex_0).
|
|
943
|
+
tmp_1 = table.players.h1(partnerIndex_0).x7y_1.m84_1;
|
|
944
944
|
} else {
|
|
945
945
|
tmp_1 = false;
|
|
946
946
|
}
|
|
@@ -951,15 +951,16 @@
|
|
|
951
951
|
var ownTeamWonLastTrick = tmp_0;
|
|
952
952
|
var tmp_2 = table.currentTrump;
|
|
953
953
|
var tmp1_safe_receiver = table.cardDeck;
|
|
954
|
-
return new BotGameState(playerId, players, player.
|
|
954
|
+
return new BotGameState(playerId, players, player.w7y_1, playedCards, cardsOnTable, tmp_2, tmp1_safe_receiver == null ? null : tmp1_safe_receiver.q91_1, trumpDeclarerId === playerId, emptyList(), 0, 0, ownRoundPoints, opponentRoundPoints, trickNumber, positionInTrick, ownTeamWonLastTrick, declaredCombinations, rules, playersMode, rules.dealerFinalCardsCount);
|
|
955
955
|
}
|
|
956
956
|
function computeLegalActions($this, playerId, table) {
|
|
957
|
-
var sceneId = table.sceneInfo.
|
|
958
|
-
var actId = table.sceneInfo.
|
|
957
|
+
var sceneId = table.sceneInfo.b9f_1;
|
|
958
|
+
var actId = table.sceneInfo.d9f_1;
|
|
959
959
|
var tmp;
|
|
960
960
|
if (actId === 'COMBINATION') {
|
|
961
961
|
tmp = listOf([new AcceptCombinations(true), new AcceptCombinations(false)]);
|
|
962
962
|
} else if (get_isTradeScene(sceneId) && actId === 'PLAYER_TURN') {
|
|
963
|
+
var player = getPlayer(table.players, playerId);
|
|
963
964
|
// Inline function 'kotlin.collections.map' call
|
|
964
965
|
var this_0 = get_entries();
|
|
965
966
|
// Inline function 'kotlin.collections.mapTo' call
|
|
@@ -971,11 +972,12 @@
|
|
|
971
972
|
destination.e1(tmp$ret$0);
|
|
972
973
|
}
|
|
973
974
|
var suits = destination;
|
|
974
|
-
|
|
975
|
+
var canPass = table.config.rules.playWithoutLiabilities || !player.x7y_1.g84_1 || !player.x7y_1.x88();
|
|
976
|
+
tmp = canPass ? plus(suits, new SelectSuit(null)) : suits;
|
|
975
977
|
} else if (get_isEarnPointScene(sceneId) && actId === 'PLAYER_TURN') {
|
|
976
|
-
var
|
|
978
|
+
var player_0 = getPlayer(table.players, playerId);
|
|
977
979
|
// Inline function 'kotlin.collections.map' call
|
|
978
|
-
var this_1 =
|
|
980
|
+
var this_1 = player_0.w7y_1;
|
|
979
981
|
// Inline function 'kotlin.collections.mapTo' call
|
|
980
982
|
var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_1, 10));
|
|
981
983
|
var _iterator__ex2g4s_0 = this_1.t();
|
|
@@ -993,16 +995,16 @@
|
|
|
993
995
|
function mapToClientAction($this, action, playerId, table) {
|
|
994
996
|
var tmp;
|
|
995
997
|
if (action instanceof SelectSuit) {
|
|
996
|
-
var tmp4_suit = action.
|
|
997
|
-
var tmp1_$this = $this.
|
|
998
|
+
var tmp4_suit = action.ob5_1;
|
|
999
|
+
var tmp1_$this = $this.xb7_1;
|
|
998
1000
|
var tmp2_player = getPlayer(table.players, playerId);
|
|
999
1001
|
var tmp3_round = table.gameInfo.round;
|
|
1000
|
-
var tmp5_tag = tmp1_$this.
|
|
1002
|
+
var tmp5_tag = tmp1_$this.la9(tmp3_round, tmp2_player);
|
|
1001
1003
|
tmp = new SuitChoiceFromClientAction(playerId, true, tmp5_tag, tmp4_suit);
|
|
1002
1004
|
} else {
|
|
1003
1005
|
if (action instanceof PlayCard) {
|
|
1004
|
-
var tmp7_card = action.
|
|
1005
|
-
var tmp6_safe_receiver = action.
|
|
1006
|
+
var tmp7_card = action.mb5_1;
|
|
1007
|
+
var tmp6_safe_receiver = action.nb5_1;
|
|
1006
1008
|
var tmp_0;
|
|
1007
1009
|
if (tmp6_safe_receiver == null) {
|
|
1008
1010
|
tmp_0 = null;
|
|
@@ -1019,15 +1021,15 @@
|
|
|
1019
1021
|
tmp_0 = destination;
|
|
1020
1022
|
}
|
|
1021
1023
|
var tmp8_combinations = tmp_0;
|
|
1022
|
-
var tmp9_tag = $this.
|
|
1024
|
+
var tmp9_tag = $this.xb7_1.ma9(table.gameInfo.round, VOID, table.cardsOnTable.g1());
|
|
1023
1025
|
tmp = new CardFromClientAction(playerId, true, tmp9_tag, tmp7_card, tmp8_combinations);
|
|
1024
1026
|
} else {
|
|
1025
1027
|
if (action instanceof AcceptCombinations) {
|
|
1026
|
-
var tmp13_isAccepted = action.
|
|
1027
|
-
var tmp10_$this = $this.
|
|
1028
|
+
var tmp13_isAccepted = action.pb5_1;
|
|
1029
|
+
var tmp10_$this = $this.xb7_1;
|
|
1028
1030
|
var tmp11_round = table.gameInfo.round;
|
|
1029
1031
|
var tmp12_sceneInfo = table.sceneInfo;
|
|
1030
|
-
var tmp14_tag = tmp10_$this.
|
|
1032
|
+
var tmp14_tag = tmp10_$this.ka9(tmp12_sceneInfo, tmp11_round);
|
|
1031
1033
|
tmp = new CombinationChoiceFromClientAction(playerId, true, tmp14_tag, tmp13_isAccepted);
|
|
1032
1034
|
} else {
|
|
1033
1035
|
noWhenBranchMatchedException();
|
|
@@ -1037,9 +1039,9 @@
|
|
|
1037
1039
|
return tmp;
|
|
1038
1040
|
}
|
|
1039
1041
|
function handleWaitingAct($this, playerId, table) {
|
|
1040
|
-
if (!(table.sceneInfo.
|
|
1042
|
+
if (!(table.sceneInfo.d9f_1 === 'WAITING_ACT'))
|
|
1041
1043
|
return null;
|
|
1042
|
-
var tmp0 = table.sceneInfo.
|
|
1044
|
+
var tmp0 = table.sceneInfo.f9f_1;
|
|
1043
1045
|
var tmp$ret$0;
|
|
1044
1046
|
$l$block: {
|
|
1045
1047
|
// Inline function 'games.jass.logic.data.models.scenes.requireActData' call
|
|
@@ -1050,7 +1052,7 @@
|
|
|
1050
1052
|
throw new MechanicException('Required ' + getKClass(WaitingActData).o() + ', current act is ' + toString(tmp0));
|
|
1051
1053
|
}
|
|
1052
1054
|
var waitingActData = tmp$ret$0;
|
|
1053
|
-
var tmp0_elvis_lhs = waitingActData.
|
|
1055
|
+
var tmp0_elvis_lhs = waitingActData.l8k_1;
|
|
1054
1056
|
var tmp;
|
|
1055
1057
|
if (tmp0_elvis_lhs == null) {
|
|
1056
1058
|
return null;
|
|
@@ -1062,7 +1064,7 @@
|
|
|
1062
1064
|
if (requestPayload instanceof CardDeckRequest) {
|
|
1063
1065
|
// Inline function 'kotlin.collections.List' call
|
|
1064
1066
|
// Inline function 'kotlin.collections.MutableList' call
|
|
1065
|
-
var size = requestPayload.
|
|
1067
|
+
var size = requestPayload.j8k_1;
|
|
1066
1068
|
var list = ArrayList_init_$Create$_0(size);
|
|
1067
1069
|
// Inline function 'kotlin.repeat' call
|
|
1068
1070
|
var inductionVariable = 0;
|
|
@@ -1070,11 +1072,11 @@
|
|
|
1070
1072
|
do {
|
|
1071
1073
|
var index = inductionVariable;
|
|
1072
1074
|
inductionVariable = inductionVariable + 1 | 0;
|
|
1073
|
-
var tmp$ret$1 = Companion_instance.
|
|
1075
|
+
var tmp$ret$1 = Companion_instance.m95($this.wb7_1.fa9());
|
|
1074
1076
|
list.e1(tmp$ret$1);
|
|
1075
1077
|
}
|
|
1076
1078
|
while (inductionVariable < size);
|
|
1077
|
-
var tmp3_tag = $this.
|
|
1079
|
+
var tmp3_tag = $this.xb7_1.ha9(table.sceneInfo.b9f_1, table.gameInfo.round);
|
|
1078
1080
|
tmp_0 = new RequestedCardDecksFromClientAction(list, playerId, true, tmp3_tag);
|
|
1079
1081
|
} else {
|
|
1080
1082
|
noWhenBranchMatchedException();
|
|
@@ -1101,12 +1103,12 @@
|
|
|
1101
1103
|
var playerIndex = tmp$ret$1;
|
|
1102
1104
|
var partnerIndex = (playerIndex + 2 | 0) % table.players.g1() | 0;
|
|
1103
1105
|
var partnerId = table.players.h1(partnerIndex).playerId;
|
|
1104
|
-
var tmp0_tag = $this.
|
|
1106
|
+
var tmp0_tag = $this.xb7_1.ia9(table.gameInfo.round);
|
|
1105
1107
|
return new PartnerSelectedFromClientAction(playerId, true, tmp0_tag, partnerId);
|
|
1106
1108
|
}
|
|
1107
1109
|
function handleCalcPoints($this, playerId, table) {
|
|
1108
|
-
if ($this.
|
|
1109
|
-
var tmp0 = table.sceneInfo.
|
|
1110
|
+
if ($this.yb7_1 === table.gameInfo.gameNumber) {
|
|
1111
|
+
var tmp0 = table.sceneInfo.e9f_1;
|
|
1110
1112
|
var tmp$ret$0;
|
|
1111
1113
|
$l$block: {
|
|
1112
1114
|
// Inline function 'games.jass.logic.data.models.scenes.requireSceneData' call
|
|
@@ -1118,29 +1120,29 @@
|
|
|
1118
1120
|
}
|
|
1119
1121
|
var sceneData = tmp$ret$0;
|
|
1120
1122
|
// Inline function 'kotlin.collections.orEmpty' call
|
|
1121
|
-
var tmp0_elvis_lhs = sceneData.
|
|
1123
|
+
var tmp0_elvis_lhs = sceneData.g8l_1;
|
|
1122
1124
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1123
1125
|
if (!(tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs).r()) {
|
|
1124
1126
|
return new ExitFromClientAction(playerId, true);
|
|
1125
1127
|
}
|
|
1126
1128
|
}
|
|
1127
|
-
return new PlayerReadyFromClientAction(playerId, true, $this.
|
|
1129
|
+
return new PlayerReadyFromClientAction(playerId, true, $this.xb7_1.ja9(table.gameInfo.round));
|
|
1128
1130
|
}
|
|
1129
1131
|
function BotPolicyAnswerProvider(policies, dealerInteractor, tagProvider, exitAfterGameNumber) {
|
|
1130
1132
|
exitAfterGameNumber = exitAfterGameNumber === VOID ? null : exitAfterGameNumber;
|
|
1131
|
-
this.
|
|
1132
|
-
this.
|
|
1133
|
-
this.
|
|
1134
|
-
this.
|
|
1133
|
+
this.vb7_1 = policies;
|
|
1134
|
+
this.wb7_1 = dealerInteractor;
|
|
1135
|
+
this.xb7_1 = tagProvider;
|
|
1136
|
+
this.yb7_1 = exitAfterGameNumber;
|
|
1135
1137
|
}
|
|
1136
|
-
protoOf(BotPolicyAnswerProvider).
|
|
1138
|
+
protoOf(BotPolicyAnswerProvider).naq = function (playerId, table) {
|
|
1137
1139
|
var waitingAction = handleWaitingAct(this, playerId, table);
|
|
1138
1140
|
if (!(waitingAction == null))
|
|
1139
1141
|
return waitingAction;
|
|
1140
|
-
if (get_isCalcPointScene(table.sceneInfo.
|
|
1142
|
+
if (get_isCalcPointScene(table.sceneInfo.b9f_1)) {
|
|
1141
1143
|
return handleCalcPoints(this, playerId, table);
|
|
1142
1144
|
}
|
|
1143
|
-
if (get_isChoosePartnerScene(table.sceneInfo.
|
|
1145
|
+
if (get_isChoosePartnerScene(table.sceneInfo.b9f_1)) {
|
|
1144
1146
|
return handleChoosePartner(this, playerId, table);
|
|
1145
1147
|
}
|
|
1146
1148
|
var tmp0 = table.players;
|
|
@@ -1160,28 +1162,28 @@
|
|
|
1160
1162
|
tmp$ret$1 = -1;
|
|
1161
1163
|
}
|
|
1162
1164
|
var seatIndex = tmp$ret$1;
|
|
1163
|
-
var policy = this.
|
|
1165
|
+
var policy = this.vb7_1[seatIndex % this.vb7_1.length | 0];
|
|
1164
1166
|
var state = mapToBotState(this, playerId, table);
|
|
1165
1167
|
var legalActions = computeLegalActions(this, playerId, table);
|
|
1166
|
-
var chosen = policy.
|
|
1168
|
+
var chosen = policy.zb7(state, legalActions);
|
|
1167
1169
|
return mapToClientAction(this, chosen, playerId, table);
|
|
1168
1170
|
};
|
|
1169
1171
|
function getOrCreatePolicy($this, playersMode, rulesSetType) {
|
|
1170
1172
|
var cacheKey = rulesSetType.value + '_' + playersMode.z_1;
|
|
1171
1173
|
// Inline function 'kotlin.collections.getOrPut' call
|
|
1172
|
-
var this_0 = $this.
|
|
1174
|
+
var this_0 = $this.eb8_1;
|
|
1173
1175
|
var value = this_0.v2(cacheKey);
|
|
1174
1176
|
var tmp;
|
|
1175
1177
|
if (value == null) {
|
|
1176
1178
|
var tmp$ret$0;
|
|
1177
1179
|
$l$block: {
|
|
1178
|
-
var modelBytes = $this.
|
|
1180
|
+
var modelBytes = $this.ab8_1.rb7(playersMode, rulesSetType);
|
|
1179
1181
|
if (modelBytes == null) {
|
|
1180
|
-
$this.
|
|
1181
|
-
tmp$ret$0 = new
|
|
1182
|
+
$this.db8_1.w('PimcBotAnswerProvider', 'No PIMC model for rulesSet=' + rulesSetType.value + ', ' + ('mode=' + playersMode.z_1 + '. Falling back to RandomPolicy.'));
|
|
1183
|
+
tmp$ret$0 = new RandomPolicy();
|
|
1182
1184
|
break $l$block;
|
|
1183
1185
|
}
|
|
1184
|
-
$this.
|
|
1186
|
+
$this.db8_1.d('PimcBotAnswerProvider', 'PIMC model loaded for rulesSet=' + rulesSetType.value + ', mode=' + playersMode.z_1);
|
|
1185
1187
|
tmp$ret$0 = createPimcPolicy($this, modelBytes, playersMode);
|
|
1186
1188
|
}
|
|
1187
1189
|
var answer = tmp$ret$0;
|
|
@@ -1196,28 +1198,28 @@
|
|
|
1196
1198
|
var inferenceEngine = new PureKotlinInferenceEngine();
|
|
1197
1199
|
var encoder = new BeliefFeatureEncoder(playersMode);
|
|
1198
1200
|
var beliefNetwork = new CardBeliefNetwork(inferenceEngine, encoder, playersMode);
|
|
1199
|
-
beliefNetwork.
|
|
1201
|
+
beliefNetwork.fb7(modelBytes);
|
|
1200
1202
|
var rolloutPolicy = new RolloutPolicy();
|
|
1201
1203
|
var pimcEngine = new PimcEngine(beliefNetwork, rolloutPolicy, new PimcConfig());
|
|
1202
1204
|
return PimcBotPolicy_init_$Create$(pimcEngine);
|
|
1203
1205
|
}
|
|
1204
1206
|
function Companion_0() {
|
|
1205
|
-
this.
|
|
1207
|
+
this.fb8_1 = 'PimcBotAnswerProvider';
|
|
1206
1208
|
}
|
|
1207
1209
|
var Companion_instance_2;
|
|
1208
1210
|
function Companion_getInstance_0() {
|
|
1209
1211
|
return Companion_instance_2;
|
|
1210
1212
|
}
|
|
1211
1213
|
function PimcBotAnswerProvider(registry, dealerInteractor, tagProvider, logger) {
|
|
1212
|
-
this.
|
|
1213
|
-
this.
|
|
1214
|
-
this.
|
|
1215
|
-
this.
|
|
1214
|
+
this.ab8_1 = registry;
|
|
1215
|
+
this.bb8_1 = dealerInteractor;
|
|
1216
|
+
this.cb8_1 = tagProvider;
|
|
1217
|
+
this.db8_1 = logger;
|
|
1216
1218
|
var tmp = this;
|
|
1217
1219
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
1218
|
-
tmp.
|
|
1220
|
+
tmp.eb8_1 = LinkedHashMap_init_$Create$();
|
|
1219
1221
|
}
|
|
1220
|
-
protoOf(PimcBotAnswerProvider).
|
|
1222
|
+
protoOf(PimcBotAnswerProvider).naq = function (playerId, table) {
|
|
1221
1223
|
var playersMode = table.config.playersMode;
|
|
1222
1224
|
var rulesSetType = table.config.rulesSetType;
|
|
1223
1225
|
var policy = getOrCreatePolicy(this, playersMode, rulesSetType);
|
|
@@ -1230,8 +1232,8 @@
|
|
|
1230
1232
|
tmp = tmp + 1 | 0;
|
|
1231
1233
|
}
|
|
1232
1234
|
var policies = tmp_0;
|
|
1233
|
-
var provider = new BotPolicyAnswerProvider(policies, this.
|
|
1234
|
-
return provider.
|
|
1235
|
+
var provider = new BotPolicyAnswerProvider(policies, this.bb8_1, this.cb8_1);
|
|
1236
|
+
return provider.naq(playerId, table);
|
|
1235
1237
|
};
|
|
1236
1238
|
var Activation_RELU_instance;
|
|
1237
1239
|
var Activation_NONE_instance;
|
|
@@ -1244,43 +1246,43 @@
|
|
|
1244
1246
|
Activation_NONE_instance = new Activation('NONE', 1);
|
|
1245
1247
|
}
|
|
1246
1248
|
function forward($this, layer, input) {
|
|
1247
|
-
var out = new Float32Array(layer.
|
|
1249
|
+
var out = new Float32Array(layer.hb8_1);
|
|
1248
1250
|
var inductionVariable = 0;
|
|
1249
|
-
var last = layer.
|
|
1251
|
+
var last = layer.hb8_1;
|
|
1250
1252
|
if (inductionVariable < last)
|
|
1251
1253
|
do {
|
|
1252
1254
|
var j = inductionVariable;
|
|
1253
1255
|
inductionVariable = inductionVariable + 1 | 0;
|
|
1254
|
-
var sum = layer.
|
|
1256
|
+
var sum = layer.jb8_1[j];
|
|
1255
1257
|
var inductionVariable_0 = 0;
|
|
1256
|
-
var last_0 = layer.
|
|
1258
|
+
var last_0 = layer.gb8_1;
|
|
1257
1259
|
if (inductionVariable_0 < last_0)
|
|
1258
1260
|
do {
|
|
1259
1261
|
var i = inductionVariable_0;
|
|
1260
1262
|
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
1261
|
-
sum = sum + input[i] * layer.
|
|
1263
|
+
sum = sum + input[i] * layer.ib8_1[imul(i, layer.hb8_1) + j | 0];
|
|
1262
1264
|
}
|
|
1263
1265
|
while (inductionVariable_0 < last_0);
|
|
1264
1266
|
out[j] = sum;
|
|
1265
1267
|
}
|
|
1266
1268
|
while (inductionVariable < last);
|
|
1267
|
-
var bn = layer.
|
|
1269
|
+
var bn = layer.kb8_1;
|
|
1268
1270
|
if (!(bn == null)) {
|
|
1269
1271
|
var inductionVariable_1 = 0;
|
|
1270
|
-
var last_1 = layer.
|
|
1272
|
+
var last_1 = layer.hb8_1;
|
|
1271
1273
|
if (inductionVariable_1 < last_1)
|
|
1272
1274
|
do {
|
|
1273
1275
|
var j_0 = inductionVariable_1;
|
|
1274
1276
|
inductionVariable_1 = inductionVariable_1 + 1 | 0;
|
|
1275
|
-
var normalized = (out[j_0] - bn.
|
|
1276
|
-
out[j_0] = bn.
|
|
1277
|
+
var normalized = (out[j_0] - bn.ob8_1[j_0]) / sqrt(bn.pb8_1[j_0] + 1.0E-5);
|
|
1278
|
+
out[j_0] = bn.mb8_1[j_0] * normalized + bn.nb8_1[j_0];
|
|
1277
1279
|
}
|
|
1278
1280
|
while (inductionVariable_1 < last_1);
|
|
1279
1281
|
}
|
|
1280
|
-
switch (layer.
|
|
1282
|
+
switch (layer.lb8_1.a1_1) {
|
|
1281
1283
|
case 0:
|
|
1282
1284
|
var inductionVariable_2 = 0;
|
|
1283
|
-
var last_2 = layer.
|
|
1285
|
+
var last_2 = layer.hb8_1;
|
|
1284
1286
|
if (inductionVariable_2 < last_2)
|
|
1285
1287
|
do {
|
|
1286
1288
|
var j_1 = inductionVariable_2;
|
|
@@ -1300,23 +1302,23 @@
|
|
|
1300
1302
|
return out;
|
|
1301
1303
|
}
|
|
1302
1304
|
function Layer(inDim, outDim, weight, bias, batchNorm, activation) {
|
|
1303
|
-
this.
|
|
1304
|
-
this.
|
|
1305
|
-
this.
|
|
1306
|
-
this.
|
|
1307
|
-
this.
|
|
1308
|
-
this.
|
|
1305
|
+
this.gb8_1 = inDim;
|
|
1306
|
+
this.hb8_1 = outDim;
|
|
1307
|
+
this.ib8_1 = weight;
|
|
1308
|
+
this.jb8_1 = bias;
|
|
1309
|
+
this.kb8_1 = batchNorm;
|
|
1310
|
+
this.lb8_1 = activation;
|
|
1309
1311
|
}
|
|
1310
1312
|
protoOf(Layer).toString = function () {
|
|
1311
|
-
return 'Layer(inDim=' + this.
|
|
1313
|
+
return 'Layer(inDim=' + this.gb8_1 + ', outDim=' + this.hb8_1 + ', weight=' + toString_0(this.ib8_1) + ', bias=' + toString_0(this.jb8_1) + ', batchNorm=' + toString(this.kb8_1) + ', activation=' + this.lb8_1.toString() + ')';
|
|
1312
1314
|
};
|
|
1313
1315
|
protoOf(Layer).hashCode = function () {
|
|
1314
|
-
var result = this.
|
|
1315
|
-
result = imul(result, 31) + this.
|
|
1316
|
-
result = imul(result, 31) + hashCode(this.
|
|
1317
|
-
result = imul(result, 31) + hashCode(this.
|
|
1318
|
-
result = imul(result, 31) + (this.
|
|
1319
|
-
result = imul(result, 31) + this.
|
|
1316
|
+
var result = this.gb8_1;
|
|
1317
|
+
result = imul(result, 31) + this.hb8_1 | 0;
|
|
1318
|
+
result = imul(result, 31) + hashCode(this.ib8_1) | 0;
|
|
1319
|
+
result = imul(result, 31) + hashCode(this.jb8_1) | 0;
|
|
1320
|
+
result = imul(result, 31) + (this.kb8_1 == null ? 0 : this.kb8_1.hashCode()) | 0;
|
|
1321
|
+
result = imul(result, 31) + this.lb8_1.hashCode() | 0;
|
|
1320
1322
|
return result;
|
|
1321
1323
|
};
|
|
1322
1324
|
protoOf(Layer).equals = function (other) {
|
|
@@ -1324,34 +1326,34 @@
|
|
|
1324
1326
|
return true;
|
|
1325
1327
|
if (!(other instanceof Layer))
|
|
1326
1328
|
return false;
|
|
1327
|
-
if (!(this.
|
|
1329
|
+
if (!(this.gb8_1 === other.gb8_1))
|
|
1328
1330
|
return false;
|
|
1329
|
-
if (!(this.
|
|
1331
|
+
if (!(this.hb8_1 === other.hb8_1))
|
|
1330
1332
|
return false;
|
|
1331
|
-
if (!equals(this.
|
|
1333
|
+
if (!equals(this.ib8_1, other.ib8_1))
|
|
1332
1334
|
return false;
|
|
1333
|
-
if (!equals(this.
|
|
1335
|
+
if (!equals(this.jb8_1, other.jb8_1))
|
|
1334
1336
|
return false;
|
|
1335
|
-
if (!equals(this.
|
|
1337
|
+
if (!equals(this.kb8_1, other.kb8_1))
|
|
1336
1338
|
return false;
|
|
1337
|
-
if (!this.
|
|
1339
|
+
if (!this.lb8_1.equals(other.lb8_1))
|
|
1338
1340
|
return false;
|
|
1339
1341
|
return true;
|
|
1340
1342
|
};
|
|
1341
1343
|
function BatchNormParams(gamma, beta, runningMean, runningVar) {
|
|
1342
|
-
this.
|
|
1343
|
-
this.
|
|
1344
|
-
this.
|
|
1345
|
-
this.
|
|
1344
|
+
this.mb8_1 = gamma;
|
|
1345
|
+
this.nb8_1 = beta;
|
|
1346
|
+
this.ob8_1 = runningMean;
|
|
1347
|
+
this.pb8_1 = runningVar;
|
|
1346
1348
|
}
|
|
1347
1349
|
protoOf(BatchNormParams).toString = function () {
|
|
1348
|
-
return 'BatchNormParams(gamma=' + toString_0(this.
|
|
1350
|
+
return 'BatchNormParams(gamma=' + toString_0(this.mb8_1) + ', beta=' + toString_0(this.nb8_1) + ', runningMean=' + toString_0(this.ob8_1) + ', runningVar=' + toString_0(this.pb8_1) + ')';
|
|
1349
1351
|
};
|
|
1350
1352
|
protoOf(BatchNormParams).hashCode = function () {
|
|
1351
|
-
var result = hashCode(this.
|
|
1352
|
-
result = imul(result, 31) + hashCode(this.
|
|
1353
|
-
result = imul(result, 31) + hashCode(this.
|
|
1354
|
-
result = imul(result, 31) + hashCode(this.
|
|
1353
|
+
var result = hashCode(this.mb8_1);
|
|
1354
|
+
result = imul(result, 31) + hashCode(this.nb8_1) | 0;
|
|
1355
|
+
result = imul(result, 31) + hashCode(this.ob8_1) | 0;
|
|
1356
|
+
result = imul(result, 31) + hashCode(this.pb8_1) | 0;
|
|
1355
1357
|
return result;
|
|
1356
1358
|
};
|
|
1357
1359
|
protoOf(BatchNormParams).equals = function (other) {
|
|
@@ -1359,13 +1361,13 @@
|
|
|
1359
1361
|
return true;
|
|
1360
1362
|
if (!(other instanceof BatchNormParams))
|
|
1361
1363
|
return false;
|
|
1362
|
-
if (!equals(this.
|
|
1364
|
+
if (!equals(this.mb8_1, other.mb8_1))
|
|
1363
1365
|
return false;
|
|
1364
|
-
if (!equals(this.
|
|
1366
|
+
if (!equals(this.nb8_1, other.nb8_1))
|
|
1365
1367
|
return false;
|
|
1366
|
-
if (!equals(this.
|
|
1368
|
+
if (!equals(this.ob8_1, other.ob8_1))
|
|
1367
1369
|
return false;
|
|
1368
|
-
if (!equals(this.
|
|
1370
|
+
if (!equals(this.pb8_1, other.pb8_1))
|
|
1369
1371
|
return false;
|
|
1370
1372
|
return true;
|
|
1371
1373
|
};
|
|
@@ -1373,9 +1375,9 @@
|
|
|
1373
1375
|
Enum.call(this, name, ordinal);
|
|
1374
1376
|
}
|
|
1375
1377
|
function Companion_1() {
|
|
1376
|
-
this.
|
|
1378
|
+
this.ib7_1 = 1.0E-5;
|
|
1377
1379
|
}
|
|
1378
|
-
protoOf(Companion_1).
|
|
1380
|
+
protoOf(Companion_1).jb7 = function (logits) {
|
|
1379
1381
|
var max_0 = max(logits);
|
|
1380
1382
|
var tmp = 0;
|
|
1381
1383
|
var tmp_0 = logits.length;
|
|
@@ -1415,16 +1417,16 @@
|
|
|
1415
1417
|
return Activation_NONE_instance;
|
|
1416
1418
|
}
|
|
1417
1419
|
function PureKotlinInferenceEngine() {
|
|
1418
|
-
this.
|
|
1420
|
+
this.qb8_1 = emptyList();
|
|
1419
1421
|
}
|
|
1420
|
-
protoOf(PureKotlinInferenceEngine).
|
|
1422
|
+
protoOf(PureKotlinInferenceEngine).fb7 = function (modelBytes) {
|
|
1421
1423
|
var buf = new ByteArrayReader(modelBytes);
|
|
1422
|
-
var layerCount = buf.
|
|
1424
|
+
var layerCount = buf.tb8();
|
|
1423
1425
|
var tmp = 0;
|
|
1424
1426
|
var tmp_0 = layerCount + 1 | 0;
|
|
1425
1427
|
var tmp_1 = new Int32Array(tmp_0);
|
|
1426
1428
|
while (tmp < tmp_0) {
|
|
1427
|
-
tmp_1[tmp] = buf.
|
|
1429
|
+
tmp_1[tmp] = buf.tb8();
|
|
1428
1430
|
tmp = tmp + 1 | 0;
|
|
1429
1431
|
}
|
|
1430
1432
|
var sizes = tmp_1;
|
|
@@ -1438,11 +1440,11 @@
|
|
|
1438
1440
|
var inDim = sizes[i];
|
|
1439
1441
|
var outDim = sizes[i + 1 | 0];
|
|
1440
1442
|
var isHidden = i < (layerCount - 1 | 0);
|
|
1441
|
-
var weight = buf.
|
|
1442
|
-
var bias = buf.
|
|
1443
|
+
var weight = buf.ub8(imul(inDim, outDim));
|
|
1444
|
+
var bias = buf.ub8(outDim);
|
|
1443
1445
|
var tmp_2;
|
|
1444
1446
|
if (isHidden) {
|
|
1445
|
-
tmp_2 = new BatchNormParams(buf.
|
|
1447
|
+
tmp_2 = new BatchNormParams(buf.ub8(outDim), buf.ub8(outDim), buf.ub8(outDim), buf.ub8(outDim));
|
|
1446
1448
|
} else {
|
|
1447
1449
|
tmp_2 = null;
|
|
1448
1450
|
}
|
|
@@ -1452,17 +1454,17 @@
|
|
|
1452
1454
|
parsed.e1(element);
|
|
1453
1455
|
}
|
|
1454
1456
|
while (inductionVariable < layerCount);
|
|
1455
|
-
this.
|
|
1457
|
+
this.qb8_1 = parsed;
|
|
1456
1458
|
};
|
|
1457
|
-
protoOf(PureKotlinInferenceEngine).
|
|
1459
|
+
protoOf(PureKotlinInferenceEngine).hb7 = function (input) {
|
|
1458
1460
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1459
1461
|
// Inline function 'kotlin.check' call
|
|
1460
|
-
if (!!this.
|
|
1462
|
+
if (!!this.qb8_1.r()) {
|
|
1461
1463
|
var message = 'Model not loaded. Call loadModel() first.';
|
|
1462
1464
|
throw IllegalStateException_init_$Create$(toString_0(message));
|
|
1463
1465
|
}
|
|
1464
1466
|
var x = input;
|
|
1465
|
-
var _iterator__ex2g4s = this.
|
|
1467
|
+
var _iterator__ex2g4s = this.qb8_1.t();
|
|
1466
1468
|
while (_iterator__ex2g4s.u()) {
|
|
1467
1469
|
var layer = _iterator__ex2g4s.v();
|
|
1468
1470
|
x = forward(this, layer, x);
|
|
@@ -1470,34 +1472,34 @@
|
|
|
1470
1472
|
return x;
|
|
1471
1473
|
};
|
|
1472
1474
|
function ByteArrayReader(data) {
|
|
1473
|
-
this.
|
|
1474
|
-
this.
|
|
1475
|
-
}
|
|
1476
|
-
protoOf(ByteArrayReader).
|
|
1477
|
-
var _unary__edvuaz = this.
|
|
1478
|
-
this.
|
|
1479
|
-
var b0 = this.
|
|
1480
|
-
var _unary__edvuaz_0 = this.
|
|
1481
|
-
this.
|
|
1482
|
-
var b1 = this.
|
|
1483
|
-
var _unary__edvuaz_1 = this.
|
|
1484
|
-
this.
|
|
1485
|
-
var b2 = this.
|
|
1486
|
-
var _unary__edvuaz_2 = this.
|
|
1487
|
-
this.
|
|
1488
|
-
var b3 = this.
|
|
1475
|
+
this.rb8_1 = data;
|
|
1476
|
+
this.sb8_1 = 0;
|
|
1477
|
+
}
|
|
1478
|
+
protoOf(ByteArrayReader).tb8 = function () {
|
|
1479
|
+
var _unary__edvuaz = this.sb8_1;
|
|
1480
|
+
this.sb8_1 = _unary__edvuaz + 1 | 0;
|
|
1481
|
+
var b0 = this.rb8_1[_unary__edvuaz] & 255;
|
|
1482
|
+
var _unary__edvuaz_0 = this.sb8_1;
|
|
1483
|
+
this.sb8_1 = _unary__edvuaz_0 + 1 | 0;
|
|
1484
|
+
var b1 = this.rb8_1[_unary__edvuaz_0] & 255;
|
|
1485
|
+
var _unary__edvuaz_1 = this.sb8_1;
|
|
1486
|
+
this.sb8_1 = _unary__edvuaz_1 + 1 | 0;
|
|
1487
|
+
var b2 = this.rb8_1[_unary__edvuaz_1] & 255;
|
|
1488
|
+
var _unary__edvuaz_2 = this.sb8_1;
|
|
1489
|
+
this.sb8_1 = _unary__edvuaz_2 + 1 | 0;
|
|
1490
|
+
var b3 = this.rb8_1[_unary__edvuaz_2] & 255;
|
|
1489
1491
|
return b0 | b1 << 8 | b2 << 16 | b3 << 24;
|
|
1490
1492
|
};
|
|
1491
|
-
protoOf(ByteArrayReader).
|
|
1493
|
+
protoOf(ByteArrayReader).vb8 = function () {
|
|
1492
1494
|
// Inline function 'kotlin.fromBits' call
|
|
1493
|
-
var bits = this.
|
|
1495
|
+
var bits = this.tb8();
|
|
1494
1496
|
return floatFromBits(bits);
|
|
1495
1497
|
};
|
|
1496
|
-
protoOf(ByteArrayReader).
|
|
1498
|
+
protoOf(ByteArrayReader).ub8 = function (size) {
|
|
1497
1499
|
var tmp = 0;
|
|
1498
1500
|
var tmp_0 = new Float32Array(size);
|
|
1499
1501
|
while (tmp < size) {
|
|
1500
|
-
tmp_0[tmp] = this.
|
|
1502
|
+
tmp_0[tmp] = this.vb8();
|
|
1501
1503
|
tmp = tmp + 1 | 0;
|
|
1502
1504
|
}
|
|
1503
1505
|
return tmp_0;
|
|
@@ -1507,15 +1509,15 @@
|
|
|
1507
1509
|
return Math.sqrt(x);
|
|
1508
1510
|
}
|
|
1509
1511
|
function finishTrick($this, state) {
|
|
1510
|
-
var playersInOrder = Companion_instance_4.
|
|
1512
|
+
var playersInOrder = Companion_instance_4.hb9(state.wb8_1, state.fb9_1);
|
|
1511
1513
|
// Inline function 'kotlin.collections.map' call
|
|
1512
|
-
var this_0 = state.
|
|
1514
|
+
var this_0 = state.zb8_1;
|
|
1513
1515
|
// Inline function 'kotlin.collections.mapTo' call
|
|
1514
1516
|
var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
|
|
1515
1517
|
var _iterator__ex2g4s = this_0.t();
|
|
1516
1518
|
while (_iterator__ex2g4s.u()) {
|
|
1517
1519
|
var item = _iterator__ex2g4s.v();
|
|
1518
|
-
var tmp$ret$0 = item.
|
|
1520
|
+
var tmp$ret$0 = item.ib9_1;
|
|
1519
1521
|
destination.e1(tmp$ret$0);
|
|
1520
1522
|
}
|
|
1521
1523
|
var alreadyPlayed = toSet(destination);
|
|
@@ -1529,8 +1531,8 @@
|
|
|
1529
1531
|
resolveTrickAndAdvance($this, state);
|
|
1530
1532
|
}
|
|
1531
1533
|
function playFullTrick($this, state) {
|
|
1532
|
-
state.
|
|
1533
|
-
var playersInOrder = Companion_instance_4.
|
|
1534
|
+
state.zb8_1.b3();
|
|
1535
|
+
var playersInOrder = Companion_instance_4.hb9(state.wb8_1, state.fb9_1);
|
|
1534
1536
|
var _iterator__ex2g4s = playersInOrder.t();
|
|
1535
1537
|
while (_iterator__ex2g4s.u()) {
|
|
1536
1538
|
var pid = _iterator__ex2g4s.v();
|
|
@@ -1539,7 +1541,7 @@
|
|
|
1539
1541
|
resolveTrickAndAdvance($this, state);
|
|
1540
1542
|
}
|
|
1541
1543
|
function playCard($this, state, playerId) {
|
|
1542
|
-
var tmp0_elvis_lhs = state.
|
|
1544
|
+
var tmp0_elvis_lhs = state.xb8_1.v2(playerId);
|
|
1543
1545
|
var tmp;
|
|
1544
1546
|
if (tmp0_elvis_lhs == null) {
|
|
1545
1547
|
return Unit_instance;
|
|
@@ -1549,40 +1551,40 @@
|
|
|
1549
1551
|
var hand = tmp;
|
|
1550
1552
|
if (hand.r())
|
|
1551
1553
|
return Unit_instance;
|
|
1552
|
-
var partnerPid = Companion_instance_4.
|
|
1554
|
+
var partnerPid = Companion_instance_4.kb9(playerId, state.wb8_1, state.cb9_1);
|
|
1553
1555
|
var partnerWinning = isPartnerWinning($this, state, partnerPid);
|
|
1554
|
-
var legalCards = TrickSimulator_instance.
|
|
1555
|
-
var card = $this.
|
|
1556
|
+
var legalCards = TrickSimulator_instance.lb9(hand, state.zb8_1, state.yb8_1, state.db9_1, state.cb9_1, playerId, partnerPid);
|
|
1557
|
+
var card = $this.mb9_1.nb9(hand, legalCards, state.zb8_1, state.yb8_1, partnerPid, partnerWinning);
|
|
1556
1558
|
hand.y2(card);
|
|
1557
|
-
state.
|
|
1559
|
+
state.zb8_1.e1(new SimCard(playerId, card));
|
|
1558
1560
|
}
|
|
1559
1561
|
function resolveTrickAndAdvance($this, state) {
|
|
1560
|
-
var result = TrickSimulator_instance.
|
|
1561
|
-
var tmp0 = state.
|
|
1562
|
-
var tmp2 = result.
|
|
1563
|
-
var tmp0_elvis_lhs = state.
|
|
1562
|
+
var result = TrickSimulator_instance.ob9(state.zb8_1, state.yb8_1);
|
|
1563
|
+
var tmp0 = state.bb9_1;
|
|
1564
|
+
var tmp2 = result.pb9_1;
|
|
1565
|
+
var tmp0_elvis_lhs = state.bb9_1.v2(result.pb9_1);
|
|
1564
1566
|
// Inline function 'kotlin.collections.set' call
|
|
1565
|
-
var value = (tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs) + result.
|
|
1567
|
+
var value = (tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs) + result.qb9_1 | 0;
|
|
1566
1568
|
tmp0.g3(tmp2, value);
|
|
1567
|
-
state.
|
|
1568
|
-
state.
|
|
1569
|
-
state.
|
|
1569
|
+
state.fb9_1 = result.pb9_1;
|
|
1570
|
+
state.ab9_1 = state.ab9_1 + 1 | 0;
|
|
1571
|
+
state.zb8_1.b3();
|
|
1570
1572
|
}
|
|
1571
1573
|
function computeResult($this, state) {
|
|
1572
|
-
var focalIndex = state.
|
|
1573
|
-
var n = state.
|
|
1574
|
+
var focalIndex = state.wb8_1.o2(state.eb9_1);
|
|
1575
|
+
var n = state.wb8_1.g1();
|
|
1574
1576
|
var tmp;
|
|
1575
|
-
if (state.
|
|
1577
|
+
if (state.cb9_1.isTeamGame && n === 4) {
|
|
1576
1578
|
var partnerIndex = (focalIndex + 2 | 0) % n | 0;
|
|
1577
|
-
tmp = setOf_0([state.
|
|
1579
|
+
tmp = setOf_0([state.wb8_1.h1(focalIndex), state.wb8_1.h1(partnerIndex)]);
|
|
1578
1580
|
} else {
|
|
1579
|
-
tmp = setOf(state.
|
|
1581
|
+
tmp = setOf(state.eb9_1);
|
|
1580
1582
|
}
|
|
1581
1583
|
var focalTeam = tmp;
|
|
1582
1584
|
var focalPts = 0;
|
|
1583
1585
|
var oppPts = 0;
|
|
1584
1586
|
// Inline function 'kotlin.collections.iterator' call
|
|
1585
|
-
var _iterator__ex2g4s = state.
|
|
1587
|
+
var _iterator__ex2g4s = state.bb9_1.m1().t();
|
|
1586
1588
|
while (_iterator__ex2g4s.u()) {
|
|
1587
1589
|
var _destruct__k2r9zo = _iterator__ex2g4s.v();
|
|
1588
1590
|
// Inline function 'kotlin.collections.component1' call
|
|
@@ -1597,10 +1599,10 @@
|
|
|
1597
1599
|
return new RolloutResult(focalPts, oppPts);
|
|
1598
1600
|
}
|
|
1599
1601
|
function isPartnerWinning($this, state, partnerPid) {
|
|
1600
|
-
if (partnerPid == null || state.
|
|
1602
|
+
if (partnerPid == null || state.zb8_1.r())
|
|
1601
1603
|
return false;
|
|
1602
|
-
var firstSuit = first(state.
|
|
1603
|
-
var tmp0 = state.
|
|
1604
|
+
var firstSuit = first(state.zb8_1).jb9_1.w6l();
|
|
1605
|
+
var tmp0 = state.zb8_1;
|
|
1604
1606
|
var tmp$ret$0;
|
|
1605
1607
|
$l$block_0: {
|
|
1606
1608
|
// Inline function 'kotlin.collections.maxByOrNull' call
|
|
@@ -1615,10 +1617,10 @@
|
|
|
1615
1617
|
break $l$block_0;
|
|
1616
1618
|
}
|
|
1617
1619
|
var it = maxElem;
|
|
1618
|
-
var maxValue = getGrowth(it.
|
|
1620
|
+
var maxValue = getGrowth(it.jb9_1, state.yb8_1, firstSuit);
|
|
1619
1621
|
do {
|
|
1620
1622
|
var e = iterator.v();
|
|
1621
|
-
var v = getGrowth(e.
|
|
1623
|
+
var v = getGrowth(e.jb9_1, state.yb8_1, firstSuit);
|
|
1622
1624
|
if (compareTo(maxValue, v) < 0) {
|
|
1623
1625
|
maxElem = e;
|
|
1624
1626
|
maxValue = v;
|
|
@@ -1628,12 +1630,12 @@
|
|
|
1628
1630
|
tmp$ret$0 = maxElem;
|
|
1629
1631
|
}
|
|
1630
1632
|
var winner = tmp$ret$0;
|
|
1631
|
-
return (winner == null ? null : winner.
|
|
1633
|
+
return (winner == null ? null : winner.ib9_1) == partnerPid;
|
|
1632
1634
|
}
|
|
1633
1635
|
function Companion_2() {
|
|
1634
|
-
this.
|
|
1636
|
+
this.gb9_1 = 10;
|
|
1635
1637
|
}
|
|
1636
|
-
protoOf(Companion_2).
|
|
1638
|
+
protoOf(Companion_2).hb9 = function (playerOrder, leadId) {
|
|
1637
1639
|
var startIdx = coerceAtLeast_0(playerOrder.o2(leadId), 0);
|
|
1638
1640
|
// Inline function 'kotlin.collections.List' call
|
|
1639
1641
|
// Inline function 'kotlin.collections.MutableList' call
|
|
@@ -1651,7 +1653,7 @@
|
|
|
1651
1653
|
while (inductionVariable < size);
|
|
1652
1654
|
return list;
|
|
1653
1655
|
};
|
|
1654
|
-
protoOf(Companion_2).
|
|
1656
|
+
protoOf(Companion_2).kb9 = function (playerId, playerOrder, playersMode) {
|
|
1655
1657
|
if (!playersMode.isTeamGame || !(playerOrder.g1() === 4))
|
|
1656
1658
|
return null;
|
|
1657
1659
|
var idx = playerOrder.o2(playerId);
|
|
@@ -1664,11 +1666,11 @@
|
|
|
1664
1666
|
return Companion_instance_4;
|
|
1665
1667
|
}
|
|
1666
1668
|
function DeterministicRollout(rolloutPolicy) {
|
|
1667
|
-
this.
|
|
1669
|
+
this.mb9_1 = rolloutPolicy;
|
|
1668
1670
|
}
|
|
1669
|
-
protoOf(DeterministicRollout).
|
|
1671
|
+
protoOf(DeterministicRollout).rb9 = function (initialState) {
|
|
1670
1672
|
var state = initialState;
|
|
1671
|
-
var tmp0 = state.
|
|
1673
|
+
var tmp0 = state.xb8_1.x2();
|
|
1672
1674
|
var tmp$ret$0;
|
|
1673
1675
|
$l$block: {
|
|
1674
1676
|
// Inline function 'kotlin.collections.maxOfOrNull' call
|
|
@@ -1688,21 +1690,21 @@
|
|
|
1688
1690
|
}
|
|
1689
1691
|
var tmp0_elvis_lhs = tmp$ret$0;
|
|
1690
1692
|
var maxTricks = tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs;
|
|
1691
|
-
var tmp = state.
|
|
1693
|
+
var tmp = state.ab9_1 + maxTricks | 0;
|
|
1692
1694
|
var tmp_0;
|
|
1693
1695
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1694
|
-
if (!state.
|
|
1696
|
+
if (!state.zb8_1.r()) {
|
|
1695
1697
|
tmp_0 = 1;
|
|
1696
1698
|
} else {
|
|
1697
1699
|
tmp_0 = 0;
|
|
1698
1700
|
}
|
|
1699
1701
|
var totalTricks = tmp + tmp_0 | 0;
|
|
1700
1702
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1701
|
-
if (!state.
|
|
1703
|
+
if (!state.zb8_1.r()) {
|
|
1702
1704
|
finishTrick(this, state);
|
|
1703
1705
|
}
|
|
1704
1706
|
$l$loop: while (true) {
|
|
1705
|
-
var tmp0_0 = state.
|
|
1707
|
+
var tmp0_0 = state.xb8_1.x2();
|
|
1706
1708
|
var tmp$ret$5;
|
|
1707
1709
|
$l$block_1: {
|
|
1708
1710
|
// Inline function 'kotlin.collections.any' call
|
|
@@ -1732,40 +1734,40 @@
|
|
|
1732
1734
|
}
|
|
1733
1735
|
playFullTrick(this, state);
|
|
1734
1736
|
}
|
|
1735
|
-
var lastTrickWinner = state.
|
|
1736
|
-
var tmp0_1 = state.
|
|
1737
|
-
var tmp1_elvis_lhs = state.
|
|
1737
|
+
var lastTrickWinner = state.fb9_1;
|
|
1738
|
+
var tmp0_1 = state.bb9_1;
|
|
1739
|
+
var tmp1_elvis_lhs = state.bb9_1.v2(lastTrickWinner);
|
|
1738
1740
|
// Inline function 'kotlin.collections.set' call
|
|
1739
1741
|
var value = (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) + 10 | 0;
|
|
1740
1742
|
tmp0_1.g3(lastTrickWinner, value);
|
|
1741
1743
|
return computeResult(this, state);
|
|
1742
1744
|
};
|
|
1743
1745
|
function RolloutState(playerOrder, hands, trump, currentTrick, trickNumber, points, playersMode, rules, focalPlayerId, leadPlayerId) {
|
|
1744
|
-
this.
|
|
1745
|
-
this.
|
|
1746
|
-
this.
|
|
1747
|
-
this.
|
|
1748
|
-
this.
|
|
1749
|
-
this.
|
|
1750
|
-
this.
|
|
1751
|
-
this.
|
|
1752
|
-
this.
|
|
1753
|
-
this.
|
|
1746
|
+
this.wb8_1 = playerOrder;
|
|
1747
|
+
this.xb8_1 = hands;
|
|
1748
|
+
this.yb8_1 = trump;
|
|
1749
|
+
this.zb8_1 = currentTrick;
|
|
1750
|
+
this.ab9_1 = trickNumber;
|
|
1751
|
+
this.bb9_1 = points;
|
|
1752
|
+
this.cb9_1 = playersMode;
|
|
1753
|
+
this.db9_1 = rules;
|
|
1754
|
+
this.eb9_1 = focalPlayerId;
|
|
1755
|
+
this.fb9_1 = leadPlayerId;
|
|
1754
1756
|
}
|
|
1755
1757
|
protoOf(RolloutState).toString = function () {
|
|
1756
|
-
return 'RolloutState(playerOrder=' + toString_0(this.
|
|
1758
|
+
return 'RolloutState(playerOrder=' + toString_0(this.wb8_1) + ', hands=' + toString_0(this.xb8_1) + ', trump=' + this.yb8_1.toString() + ', currentTrick=' + toString_0(this.zb8_1) + ', trickNumber=' + this.ab9_1 + ', points=' + toString_0(this.bb9_1) + ', playersMode=' + this.cb9_1.toString() + ', rules=' + this.db9_1.toString() + ', focalPlayerId=' + this.eb9_1 + ', leadPlayerId=' + this.fb9_1 + ')';
|
|
1757
1759
|
};
|
|
1758
1760
|
protoOf(RolloutState).hashCode = function () {
|
|
1759
|
-
var result = hashCode(this.
|
|
1760
|
-
result = imul(result, 31) + hashCode(this.
|
|
1761
|
-
result = imul(result, 31) + this.
|
|
1762
|
-
result = imul(result, 31) + hashCode(this.
|
|
1763
|
-
result = imul(result, 31) + this.
|
|
1764
|
-
result = imul(result, 31) + hashCode(this.
|
|
1765
|
-
result = imul(result, 31) + this.
|
|
1766
|
-
result = imul(result, 31) + this.
|
|
1767
|
-
result = imul(result, 31) + getStringHashCode(this.
|
|
1768
|
-
result = imul(result, 31) + getStringHashCode(this.
|
|
1761
|
+
var result = hashCode(this.wb8_1);
|
|
1762
|
+
result = imul(result, 31) + hashCode(this.xb8_1) | 0;
|
|
1763
|
+
result = imul(result, 31) + this.yb8_1.hashCode() | 0;
|
|
1764
|
+
result = imul(result, 31) + hashCode(this.zb8_1) | 0;
|
|
1765
|
+
result = imul(result, 31) + this.ab9_1 | 0;
|
|
1766
|
+
result = imul(result, 31) + hashCode(this.bb9_1) | 0;
|
|
1767
|
+
result = imul(result, 31) + this.cb9_1.hashCode() | 0;
|
|
1768
|
+
result = imul(result, 31) + this.db9_1.hashCode() | 0;
|
|
1769
|
+
result = imul(result, 31) + getStringHashCode(this.eb9_1) | 0;
|
|
1770
|
+
result = imul(result, 31) + getStringHashCode(this.fb9_1) | 0;
|
|
1769
1771
|
return result;
|
|
1770
1772
|
};
|
|
1771
1773
|
protoOf(RolloutState).equals = function (other) {
|
|
@@ -1773,38 +1775,38 @@
|
|
|
1773
1775
|
return true;
|
|
1774
1776
|
if (!(other instanceof RolloutState))
|
|
1775
1777
|
return false;
|
|
1776
|
-
if (!equals(this.
|
|
1778
|
+
if (!equals(this.wb8_1, other.wb8_1))
|
|
1777
1779
|
return false;
|
|
1778
|
-
if (!equals(this.
|
|
1780
|
+
if (!equals(this.xb8_1, other.xb8_1))
|
|
1779
1781
|
return false;
|
|
1780
|
-
if (!this.
|
|
1782
|
+
if (!this.yb8_1.equals(other.yb8_1))
|
|
1781
1783
|
return false;
|
|
1782
|
-
if (!equals(this.
|
|
1784
|
+
if (!equals(this.zb8_1, other.zb8_1))
|
|
1783
1785
|
return false;
|
|
1784
|
-
if (!(this.
|
|
1786
|
+
if (!(this.ab9_1 === other.ab9_1))
|
|
1785
1787
|
return false;
|
|
1786
|
-
if (!equals(this.
|
|
1788
|
+
if (!equals(this.bb9_1, other.bb9_1))
|
|
1787
1789
|
return false;
|
|
1788
|
-
if (!this.
|
|
1790
|
+
if (!this.cb9_1.equals(other.cb9_1))
|
|
1789
1791
|
return false;
|
|
1790
|
-
if (!this.
|
|
1792
|
+
if (!this.db9_1.equals(other.db9_1))
|
|
1791
1793
|
return false;
|
|
1792
|
-
if (!(this.
|
|
1794
|
+
if (!(this.eb9_1 === other.eb9_1))
|
|
1793
1795
|
return false;
|
|
1794
|
-
if (!(this.
|
|
1796
|
+
if (!(this.fb9_1 === other.fb9_1))
|
|
1795
1797
|
return false;
|
|
1796
1798
|
return true;
|
|
1797
1799
|
};
|
|
1798
1800
|
function RolloutResult(focalTeamPoints, opponentTeamPoints) {
|
|
1799
|
-
this.
|
|
1800
|
-
this.
|
|
1801
|
+
this.sb9_1 = focalTeamPoints;
|
|
1802
|
+
this.tb9_1 = opponentTeamPoints;
|
|
1801
1803
|
}
|
|
1802
1804
|
protoOf(RolloutResult).toString = function () {
|
|
1803
|
-
return 'RolloutResult(focalTeamPoints=' + this.
|
|
1805
|
+
return 'RolloutResult(focalTeamPoints=' + this.sb9_1 + ', opponentTeamPoints=' + this.tb9_1 + ')';
|
|
1804
1806
|
};
|
|
1805
1807
|
protoOf(RolloutResult).hashCode = function () {
|
|
1806
|
-
var result = this.
|
|
1807
|
-
result = imul(result, 31) + this.
|
|
1808
|
+
var result = this.sb9_1;
|
|
1809
|
+
result = imul(result, 31) + this.tb9_1 | 0;
|
|
1808
1810
|
return result;
|
|
1809
1811
|
};
|
|
1810
1812
|
protoOf(RolloutResult).equals = function (other) {
|
|
@@ -1812,22 +1814,22 @@
|
|
|
1812
1814
|
return true;
|
|
1813
1815
|
if (!(other instanceof RolloutResult))
|
|
1814
1816
|
return false;
|
|
1815
|
-
if (!(this.
|
|
1817
|
+
if (!(this.sb9_1 === other.sb9_1))
|
|
1816
1818
|
return false;
|
|
1817
|
-
if (!(this.
|
|
1819
|
+
if (!(this.tb9_1 === other.tb9_1))
|
|
1818
1820
|
return false;
|
|
1819
1821
|
return true;
|
|
1820
1822
|
};
|
|
1821
1823
|
function WorldMoveScore(action, normalizedScore) {
|
|
1822
|
-
this.
|
|
1823
|
-
this.
|
|
1824
|
+
this.ub9_1 = action;
|
|
1825
|
+
this.vb9_1 = normalizedScore;
|
|
1824
1826
|
}
|
|
1825
1827
|
protoOf(WorldMoveScore).toString = function () {
|
|
1826
|
-
return 'WorldMoveScore(action=' + toString_0(this.
|
|
1828
|
+
return 'WorldMoveScore(action=' + toString_0(this.ub9_1) + ', normalizedScore=' + this.vb9_1 + ')';
|
|
1827
1829
|
};
|
|
1828
1830
|
protoOf(WorldMoveScore).hashCode = function () {
|
|
1829
|
-
var result = hashCode(this.
|
|
1830
|
-
result = imul(result, 31) + getNumberHashCode(this.
|
|
1831
|
+
var result = hashCode(this.ub9_1);
|
|
1832
|
+
result = imul(result, 31) + getNumberHashCode(this.vb9_1) | 0;
|
|
1831
1833
|
return result;
|
|
1832
1834
|
};
|
|
1833
1835
|
protoOf(WorldMoveScore).equals = function (other) {
|
|
@@ -1835,15 +1837,15 @@
|
|
|
1835
1837
|
return true;
|
|
1836
1838
|
if (!(other instanceof WorldMoveScore))
|
|
1837
1839
|
return false;
|
|
1838
|
-
if (!equals(this.
|
|
1840
|
+
if (!equals(this.ub9_1, other.ub9_1))
|
|
1839
1841
|
return false;
|
|
1840
|
-
if (!equals(this.
|
|
1842
|
+
if (!equals(this.vb9_1, other.vb9_1))
|
|
1841
1843
|
return false;
|
|
1842
1844
|
return true;
|
|
1843
1845
|
};
|
|
1844
1846
|
function MoveScoreAggregator() {
|
|
1845
1847
|
}
|
|
1846
|
-
protoOf(MoveScoreAggregator).
|
|
1848
|
+
protoOf(MoveScoreAggregator).wb9 = function (worldScores, config) {
|
|
1847
1849
|
if (worldScores.r())
|
|
1848
1850
|
return emptyMap();
|
|
1849
1851
|
// Inline function 'kotlin.collections.flatMap' call
|
|
@@ -1858,7 +1860,7 @@
|
|
|
1858
1860
|
var _iterator__ex2g4s_0 = element.t();
|
|
1859
1861
|
while (_iterator__ex2g4s_0.u()) {
|
|
1860
1862
|
var item = _iterator__ex2g4s_0.v();
|
|
1861
|
-
var tmp$ret$0 = item.
|
|
1863
|
+
var tmp$ret$0 = item.ub9_1;
|
|
1862
1864
|
destination_0.e1(tmp$ret$0);
|
|
1863
1865
|
}
|
|
1864
1866
|
var list = destination_0;
|
|
@@ -1885,7 +1887,7 @@
|
|
|
1885
1887
|
var _iterator__ex2g4s_3 = item_0.t();
|
|
1886
1888
|
while (_iterator__ex2g4s_3.u()) {
|
|
1887
1889
|
var element_1 = _iterator__ex2g4s_3.v();
|
|
1888
|
-
if (equals(element_1.
|
|
1890
|
+
if (equals(element_1.ub9_1, element_0)) {
|
|
1889
1891
|
tmp$ret$7 = element_1;
|
|
1890
1892
|
break $l$block;
|
|
1891
1893
|
}
|
|
@@ -1893,7 +1895,7 @@
|
|
|
1893
1895
|
tmp$ret$7 = null;
|
|
1894
1896
|
}
|
|
1895
1897
|
var tmp0_safe_receiver = tmp$ret$7;
|
|
1896
|
-
var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.
|
|
1898
|
+
var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.vb9_1;
|
|
1897
1899
|
var tmp$ret$8 = tmp1_elvis_lhs == null ? 0.0 : tmp1_elvis_lhs;
|
|
1898
1900
|
destination_1.e1(tmp$ret$8);
|
|
1899
1901
|
}
|
|
@@ -1914,7 +1916,7 @@
|
|
|
1914
1916
|
destination_2.g3(tmp, tmp$ret$16);
|
|
1915
1917
|
}
|
|
1916
1918
|
var avgScores = destination_2;
|
|
1917
|
-
if (!config.
|
|
1919
|
+
if (!config.zb9_1) {
|
|
1918
1920
|
return avgScores;
|
|
1919
1921
|
}
|
|
1920
1922
|
// Inline function 'kotlin.collections.associateWith' call
|
|
@@ -1969,7 +1971,7 @@
|
|
|
1969
1971
|
var tmp0_elvis_lhs = avgScores.v2(element_4);
|
|
1970
1972
|
var tmp_0 = tmp0_elvis_lhs == null ? 0.0 : tmp0_elvis_lhs;
|
|
1971
1973
|
var tmp1_elvis_lhs_3 = maxRegrets.v2(element_4);
|
|
1972
|
-
var tmp$ret$27 = tmp_0 - config.
|
|
1974
|
+
var tmp$ret$27 = tmp_0 - config.aba_1 * (tmp1_elvis_lhs_3 == null ? 0.0 : tmp1_elvis_lhs_3);
|
|
1973
1975
|
result_1.g3(element_4, tmp$ret$27);
|
|
1974
1976
|
}
|
|
1975
1977
|
return result_1;
|
|
@@ -1983,19 +1985,19 @@
|
|
|
1983
1985
|
exactSolveThreshold = exactSolveThreshold === VOID ? 3 : exactSolveThreshold;
|
|
1984
1986
|
enableStrategyFusionMitigation = enableStrategyFusionMitigation === VOID ? true : enableStrategyFusionMitigation;
|
|
1985
1987
|
variancePenalty = variancePenalty === VOID ? 0.3 : variancePenalty;
|
|
1986
|
-
this.
|
|
1987
|
-
this.
|
|
1988
|
-
this.
|
|
1989
|
-
this.
|
|
1988
|
+
this.xb9_1 = worldCount;
|
|
1989
|
+
this.yb9_1 = exactSolveThreshold;
|
|
1990
|
+
this.zb9_1 = enableStrategyFusionMitigation;
|
|
1991
|
+
this.aba_1 = variancePenalty;
|
|
1990
1992
|
}
|
|
1991
1993
|
protoOf(PimcConfig).toString = function () {
|
|
1992
|
-
return 'PimcConfig(worldCount=' + this.
|
|
1994
|
+
return 'PimcConfig(worldCount=' + this.xb9_1 + ', exactSolveThreshold=' + this.yb9_1 + ', enableStrategyFusionMitigation=' + this.zb9_1 + ', variancePenalty=' + this.aba_1 + ')';
|
|
1993
1995
|
};
|
|
1994
1996
|
protoOf(PimcConfig).hashCode = function () {
|
|
1995
|
-
var result = this.
|
|
1996
|
-
result = imul(result, 31) + this.
|
|
1997
|
-
result = imul(result, 31) + getBooleanHashCode(this.
|
|
1998
|
-
result = imul(result, 31) + getNumberHashCode(this.
|
|
1997
|
+
var result = this.xb9_1;
|
|
1998
|
+
result = imul(result, 31) + this.yb9_1 | 0;
|
|
1999
|
+
result = imul(result, 31) + getBooleanHashCode(this.zb9_1) | 0;
|
|
2000
|
+
result = imul(result, 31) + getNumberHashCode(this.aba_1) | 0;
|
|
1999
2001
|
return result;
|
|
2000
2002
|
};
|
|
2001
2003
|
protoOf(PimcConfig).equals = function (other) {
|
|
@@ -2003,13 +2005,13 @@
|
|
|
2003
2005
|
return true;
|
|
2004
2006
|
if (!(other instanceof PimcConfig))
|
|
2005
2007
|
return false;
|
|
2006
|
-
if (!(this.
|
|
2008
|
+
if (!(this.xb9_1 === other.xb9_1))
|
|
2007
2009
|
return false;
|
|
2008
|
-
if (!(this.
|
|
2010
|
+
if (!(this.yb9_1 === other.yb9_1))
|
|
2009
2011
|
return false;
|
|
2010
|
-
if (!(this.
|
|
2012
|
+
if (!(this.zb9_1 === other.zb9_1))
|
|
2011
2013
|
return false;
|
|
2012
|
-
if (!equals(this.
|
|
2014
|
+
if (!equals(this.aba_1, other.aba_1))
|
|
2013
2015
|
return false;
|
|
2014
2016
|
return true;
|
|
2015
2017
|
};
|
|
@@ -2017,7 +2019,7 @@
|
|
|
2017
2019
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
2018
2020
|
var hands = LinkedHashMap_init_$Create$();
|
|
2019
2021
|
// Inline function 'kotlin.collections.iterator' call
|
|
2020
|
-
var _iterator__ex2g4s = world.
|
|
2022
|
+
var _iterator__ex2g4s = world.bba_1.m1().t();
|
|
2021
2023
|
while (_iterator__ex2g4s.u()) {
|
|
2022
2024
|
var _destruct__k2r9zo = _iterator__ex2g4s.v();
|
|
2023
2025
|
// Inline function 'kotlin.collections.component1' call
|
|
@@ -2028,60 +2030,60 @@
|
|
|
2028
2030
|
var value = toMutableList(cards);
|
|
2029
2031
|
hands.g3(pid, value);
|
|
2030
2032
|
}
|
|
2031
|
-
var focalHand = toMutableList(state.
|
|
2032
|
-
focalHand.y2(action.
|
|
2033
|
+
var focalHand = toMutableList(state.sb5_1);
|
|
2034
|
+
focalHand.y2(action.mb5_1);
|
|
2033
2035
|
// Inline function 'kotlin.collections.set' call
|
|
2034
|
-
var key = state.
|
|
2036
|
+
var key = state.qb5_1;
|
|
2035
2037
|
hands.g3(key, focalHand);
|
|
2036
2038
|
// Inline function 'kotlin.collections.map' call
|
|
2037
|
-
var this_0 = state.
|
|
2039
|
+
var this_0 = state.ub5_1;
|
|
2038
2040
|
// Inline function 'kotlin.collections.mapTo' call
|
|
2039
2041
|
var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
|
|
2040
2042
|
var _iterator__ex2g4s_0 = this_0.t();
|
|
2041
2043
|
while (_iterator__ex2g4s_0.u()) {
|
|
2042
2044
|
var item = _iterator__ex2g4s_0.v();
|
|
2043
|
-
var tmp$ret$6 = new SimCard(item.
|
|
2045
|
+
var tmp$ret$6 = new SimCard(item.h8j_1, item.j8j_1);
|
|
2044
2046
|
destination.e1(tmp$ret$6);
|
|
2045
2047
|
}
|
|
2046
2048
|
var currentTrick = toMutableList(destination);
|
|
2047
|
-
currentTrick.e1(new SimCard(state.
|
|
2049
|
+
currentTrick.e1(new SimCard(state.qb5_1, action.mb5_1));
|
|
2048
2050
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
2049
2051
|
var points = LinkedHashMap_init_$Create$();
|
|
2050
|
-
var tmp2 = state.
|
|
2052
|
+
var tmp2 = state.qb5_1;
|
|
2051
2053
|
// Inline function 'kotlin.collections.set' call
|
|
2052
|
-
var value_0 = state.
|
|
2054
|
+
var value_0 = state.bb6_1;
|
|
2053
2055
|
points.g3(tmp2, value_0);
|
|
2054
|
-
var focalIndex = state.
|
|
2055
|
-
if (state.
|
|
2056
|
-
var oppId = state.
|
|
2056
|
+
var focalIndex = state.rb5_1.o2(state.qb5_1);
|
|
2057
|
+
if (state.rb5_1.g1() > 1) {
|
|
2058
|
+
var oppId = state.rb5_1.h1((focalIndex + 1 | 0) % state.rb5_1.g1() | 0);
|
|
2057
2059
|
// Inline function 'kotlin.collections.set' call
|
|
2058
|
-
var value_1 = state.
|
|
2060
|
+
var value_1 = state.cb6_1;
|
|
2059
2061
|
points.g3(oppId, value_1);
|
|
2060
2062
|
}
|
|
2061
2063
|
var tmp;
|
|
2062
2064
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
2063
|
-
if (!state.
|
|
2064
|
-
tmp = first(state.
|
|
2065
|
+
if (!state.ub5_1.r()) {
|
|
2066
|
+
tmp = first(state.ub5_1).h8j_1;
|
|
2065
2067
|
} else {
|
|
2066
|
-
tmp = state.
|
|
2068
|
+
tmp = state.qb5_1;
|
|
2067
2069
|
}
|
|
2068
2070
|
var leadPid = tmp;
|
|
2069
|
-
var rolloutState = new RolloutState(state.
|
|
2070
|
-
var result = $this.
|
|
2071
|
-
var total = coerceAtLeast(result.
|
|
2072
|
-
return result.
|
|
2071
|
+
var rolloutState = new RolloutState(state.rb5_1, hands, trump, currentTrick, state.db6_1, points, state.ib6_1, state.hb6_1, state.qb5_1, leadPid);
|
|
2072
|
+
var result = $this.hba_1.rb9(rolloutState);
|
|
2073
|
+
var total = coerceAtLeast(result.sb9_1 + result.tb9_1 | 0, 1.0);
|
|
2074
|
+
return result.sb9_1 / total;
|
|
2073
2075
|
}
|
|
2074
2076
|
function PimcEngine(beliefNetwork, rolloutPolicy, config, random) {
|
|
2075
2077
|
config = config === VOID ? new PimcConfig() : config;
|
|
2076
2078
|
random = random === VOID ? Default_getInstance() : random;
|
|
2077
|
-
this.
|
|
2078
|
-
this.
|
|
2079
|
-
this.
|
|
2080
|
-
this.
|
|
2081
|
-
this.
|
|
2082
|
-
this.
|
|
2083
|
-
}
|
|
2084
|
-
protoOf(PimcEngine).
|
|
2079
|
+
this.cba_1 = beliefNetwork;
|
|
2080
|
+
this.dba_1 = rolloutPolicy;
|
|
2081
|
+
this.eba_1 = config;
|
|
2082
|
+
this.fba_1 = random;
|
|
2083
|
+
this.gba_1 = new WorldSampler(this.fba_1);
|
|
2084
|
+
this.hba_1 = new DeterministicRollout(this.dba_1);
|
|
2085
|
+
}
|
|
2086
|
+
protoOf(PimcEngine).iba = function (state, legalActions) {
|
|
2085
2087
|
if (legalActions.g1() <= 1) {
|
|
2086
2088
|
// Inline function 'kotlin.collections.associateWith' call
|
|
2087
2089
|
var result = LinkedHashMap_init_$Create$_0(coerceAtLeast_0(mapCapacity(collectionSizeOrDefault(legalActions, 10)), 16));
|
|
@@ -2115,7 +2117,7 @@
|
|
|
2115
2117
|
}
|
|
2116
2118
|
return result_0;
|
|
2117
2119
|
}
|
|
2118
|
-
var tmp0_elvis_lhs = state.
|
|
2120
|
+
var tmp0_elvis_lhs = state.vb5_1;
|
|
2119
2121
|
var tmp;
|
|
2120
2122
|
if (tmp0_elvis_lhs == null) {
|
|
2121
2123
|
// Inline function 'kotlin.collections.associateWith' call
|
|
@@ -2131,8 +2133,8 @@
|
|
|
2131
2133
|
tmp = tmp0_elvis_lhs;
|
|
2132
2134
|
}
|
|
2133
2135
|
var trump = tmp;
|
|
2134
|
-
var belief = this.
|
|
2135
|
-
var worlds = this.
|
|
2136
|
+
var belief = this.cba_1.gb7(state);
|
|
2137
|
+
var worlds = this.gba_1.kba(state, belief, this.eba_1.xb9_1);
|
|
2136
2138
|
// Inline function 'kotlin.collections.map' call
|
|
2137
2139
|
// Inline function 'kotlin.collections.mapTo' call
|
|
2138
2140
|
var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(worlds, 10));
|
|
@@ -2152,18 +2154,18 @@
|
|
|
2152
2154
|
destination_0.e1(destination_1);
|
|
2153
2155
|
}
|
|
2154
2156
|
var worldScores = destination_0;
|
|
2155
|
-
return MoveScoreAggregator_instance.
|
|
2157
|
+
return MoveScoreAggregator_instance.wb9(worldScores, this.eba_1);
|
|
2156
2158
|
};
|
|
2157
2159
|
function SimCard(playerId, card) {
|
|
2158
|
-
this.
|
|
2159
|
-
this.
|
|
2160
|
+
this.ib9_1 = playerId;
|
|
2161
|
+
this.jb9_1 = card;
|
|
2160
2162
|
}
|
|
2161
2163
|
protoOf(SimCard).toString = function () {
|
|
2162
|
-
return 'SimCard(playerId=' + this.
|
|
2164
|
+
return 'SimCard(playerId=' + this.ib9_1 + ', card=' + this.jb9_1.toString() + ')';
|
|
2163
2165
|
};
|
|
2164
2166
|
protoOf(SimCard).hashCode = function () {
|
|
2165
|
-
var result = getStringHashCode(this.
|
|
2166
|
-
result = imul(result, 31) + this.
|
|
2167
|
+
var result = getStringHashCode(this.ib9_1);
|
|
2168
|
+
result = imul(result, 31) + this.jb9_1.hashCode() | 0;
|
|
2167
2169
|
return result;
|
|
2168
2170
|
};
|
|
2169
2171
|
protoOf(SimCard).equals = function (other) {
|
|
@@ -2171,9 +2173,9 @@
|
|
|
2171
2173
|
return true;
|
|
2172
2174
|
if (!(other instanceof SimCard))
|
|
2173
2175
|
return false;
|
|
2174
|
-
if (!(this.
|
|
2176
|
+
if (!(this.ib9_1 === other.ib9_1))
|
|
2175
2177
|
return false;
|
|
2176
|
-
if (!this.
|
|
2178
|
+
if (!this.jb9_1.equals(other.jb9_1))
|
|
2177
2179
|
return false;
|
|
2178
2180
|
return true;
|
|
2179
2181
|
};
|
|
@@ -2201,14 +2203,14 @@
|
|
|
2201
2203
|
}
|
|
2202
2204
|
function TrickSimulator() {
|
|
2203
2205
|
}
|
|
2204
|
-
protoOf(TrickSimulator).
|
|
2206
|
+
protoOf(TrickSimulator).ob9 = function (cards, trump) {
|
|
2205
2207
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
2206
2208
|
// Inline function 'kotlin.require' call
|
|
2207
2209
|
if (!!cards.r()) {
|
|
2208
2210
|
var message = 'Cannot resolve an empty trick';
|
|
2209
2211
|
throw IllegalArgumentException_init_$Create$(toString_0(message));
|
|
2210
2212
|
}
|
|
2211
|
-
var firstSuit = first(cards).
|
|
2213
|
+
var firstSuit = first(cards).jb9_1.w6l();
|
|
2212
2214
|
var tmp$ret$3;
|
|
2213
2215
|
$l$block_0: {
|
|
2214
2216
|
// Inline function 'kotlin.collections.maxByOrNull' call
|
|
@@ -2223,10 +2225,10 @@
|
|
|
2223
2225
|
break $l$block_0;
|
|
2224
2226
|
}
|
|
2225
2227
|
var it = maxElem;
|
|
2226
|
-
var maxValue = getGrowth(it.
|
|
2228
|
+
var maxValue = getGrowth(it.jb9_1, trump, firstSuit);
|
|
2227
2229
|
do {
|
|
2228
2230
|
var e = iterator.v();
|
|
2229
|
-
var v = getGrowth(e.
|
|
2231
|
+
var v = getGrowth(e.jb9_1, trump, firstSuit);
|
|
2230
2232
|
if (compareTo(maxValue, v) < 0) {
|
|
2231
2233
|
maxElem = e;
|
|
2232
2234
|
maxValue = v;
|
|
@@ -2242,17 +2244,17 @@
|
|
|
2242
2244
|
while (_iterator__ex2g4s.u()) {
|
|
2243
2245
|
var element = _iterator__ex2g4s.v();
|
|
2244
2246
|
var tmp = sum;
|
|
2245
|
-
sum = tmp + getPoint(element.
|
|
2247
|
+
sum = tmp + getPoint(element.jb9_1, trump) | 0;
|
|
2246
2248
|
}
|
|
2247
2249
|
var points = sum;
|
|
2248
|
-
return new TrickResult(winner.
|
|
2250
|
+
return new TrickResult(winner.ib9_1, points);
|
|
2249
2251
|
};
|
|
2250
|
-
protoOf(TrickSimulator).
|
|
2252
|
+
protoOf(TrickSimulator).lb9 = function (hand, trickCards, trump, rules, playersMode, playerId, partnerPlayerId) {
|
|
2251
2253
|
if (hand.r())
|
|
2252
2254
|
return emptyList();
|
|
2253
2255
|
if (trickCards.r())
|
|
2254
2256
|
return hand;
|
|
2255
|
-
var firstSuit = first(trickCards).
|
|
2257
|
+
var firstSuit = first(trickCards).jb9_1.w6l();
|
|
2256
2258
|
var tmp$ret$0;
|
|
2257
2259
|
$l$block_0: {
|
|
2258
2260
|
// Inline function 'kotlin.collections.any' call
|
|
@@ -2269,7 +2271,7 @@
|
|
|
2269
2271
|
var _iterator__ex2g4s = hand.t();
|
|
2270
2272
|
while (_iterator__ex2g4s.u()) {
|
|
2271
2273
|
var element = _iterator__ex2g4s.v();
|
|
2272
|
-
if (element.
|
|
2274
|
+
if (element.w6l().equals(firstSuit)) {
|
|
2273
2275
|
tmp$ret$0 = true;
|
|
2274
2276
|
break $l$block_0;
|
|
2275
2277
|
}
|
|
@@ -2293,7 +2295,7 @@
|
|
|
2293
2295
|
var _iterator__ex2g4s_0 = hand.t();
|
|
2294
2296
|
while (_iterator__ex2g4s_0.u()) {
|
|
2295
2297
|
var element_0 = _iterator__ex2g4s_0.v();
|
|
2296
|
-
if (element_0.
|
|
2298
|
+
if (element_0.w6l().equals(trump)) {
|
|
2297
2299
|
tmp$ret$2 = true;
|
|
2298
2300
|
break $l$block_2;
|
|
2299
2301
|
}
|
|
@@ -2309,7 +2311,7 @@
|
|
|
2309
2311
|
var _iterator__ex2g4s_1 = hand.t();
|
|
2310
2312
|
while (_iterator__ex2g4s_1.u()) {
|
|
2311
2313
|
var element_1 = _iterator__ex2g4s_1.v();
|
|
2312
|
-
if (element_1.
|
|
2314
|
+
if (element_1.w6l().equals(firstSuit)) {
|
|
2313
2315
|
destination.e1(element_1);
|
|
2314
2316
|
}
|
|
2315
2317
|
}
|
|
@@ -2321,7 +2323,7 @@
|
|
|
2321
2323
|
var _iterator__ex2g4s_2 = hand.t();
|
|
2322
2324
|
while (_iterator__ex2g4s_2.u()) {
|
|
2323
2325
|
var element_2 = _iterator__ex2g4s_2.v();
|
|
2324
|
-
if (element_2.
|
|
2326
|
+
if (element_2.w6l().equals(trump)) {
|
|
2325
2327
|
destination_0.e1(element_2);
|
|
2326
2328
|
}
|
|
2327
2329
|
}
|
|
@@ -2347,7 +2349,7 @@
|
|
|
2347
2349
|
var _iterator__ex2g4s_3 = trickCards.t();
|
|
2348
2350
|
while (_iterator__ex2g4s_3.u()) {
|
|
2349
2351
|
var element_3 = _iterator__ex2g4s_3.v();
|
|
2350
|
-
if (element_3.
|
|
2352
|
+
if (element_3.jb9_1.w6l().equals(trump)) {
|
|
2351
2353
|
tmp$ret$10 = true;
|
|
2352
2354
|
break $l$block_4;
|
|
2353
2355
|
}
|
|
@@ -2387,10 +2389,10 @@
|
|
|
2387
2389
|
break $l$block_6;
|
|
2388
2390
|
}
|
|
2389
2391
|
var it = maxElem;
|
|
2390
|
-
var maxValue = getGrowth(it.
|
|
2392
|
+
var maxValue = getGrowth(it.jb9_1, trump, firstSuit);
|
|
2391
2393
|
do {
|
|
2392
2394
|
var e = iterator.v();
|
|
2393
|
-
var v = getGrowth(e.
|
|
2395
|
+
var v = getGrowth(e.jb9_1, trump, firstSuit);
|
|
2394
2396
|
if (compareTo(maxValue, v) < 0) {
|
|
2395
2397
|
maxElem = e;
|
|
2396
2398
|
maxValue = v;
|
|
@@ -2407,7 +2409,7 @@
|
|
|
2407
2409
|
tmp_4 = tmp1_elvis_lhs;
|
|
2408
2410
|
}
|
|
2409
2411
|
var winningCard = tmp_4;
|
|
2410
|
-
var isPartnerWinning = playersMode.isTeamGame && winningCard.
|
|
2412
|
+
var isPartnerWinning = playersMode.isTeamGame && winningCard.ib9_1 === partnerPlayerId;
|
|
2411
2413
|
if (isPartnerWinning) {
|
|
2412
2414
|
var tmp_5;
|
|
2413
2415
|
switch (rules.trumpCardStepPartnerMode.a1_1) {
|
|
@@ -2418,7 +2420,7 @@
|
|
|
2418
2420
|
tmp_5 = candidates;
|
|
2419
2421
|
break;
|
|
2420
2422
|
case 1:
|
|
2421
|
-
tmp_5 = filterHigherTrumpOrAll(this, candidates, winningCard.
|
|
2423
|
+
tmp_5 = filterHigherTrumpOrAll(this, candidates, winningCard.jb9_1, trump, firstSuit);
|
|
2422
2424
|
break;
|
|
2423
2425
|
default:
|
|
2424
2426
|
noWhenBranchMatchedException();
|
|
@@ -2426,22 +2428,22 @@
|
|
|
2426
2428
|
}
|
|
2427
2429
|
return tmp_5;
|
|
2428
2430
|
}
|
|
2429
|
-
return filterHigherTrumpOrAll(this, candidates, winningCard.
|
|
2431
|
+
return filterHigherTrumpOrAll(this, candidates, winningCard.jb9_1, trump, firstSuit);
|
|
2430
2432
|
};
|
|
2431
2433
|
var TrickSimulator_instance;
|
|
2432
2434
|
function TrickSimulator_getInstance() {
|
|
2433
2435
|
return TrickSimulator_instance;
|
|
2434
2436
|
}
|
|
2435
2437
|
function TrickResult(winnerId, points) {
|
|
2436
|
-
this.
|
|
2437
|
-
this.
|
|
2438
|
+
this.pb9_1 = winnerId;
|
|
2439
|
+
this.qb9_1 = points;
|
|
2438
2440
|
}
|
|
2439
2441
|
protoOf(TrickResult).toString = function () {
|
|
2440
|
-
return 'TrickResult(winnerId=' + this.
|
|
2442
|
+
return 'TrickResult(winnerId=' + this.pb9_1 + ', points=' + this.qb9_1 + ')';
|
|
2441
2443
|
};
|
|
2442
2444
|
protoOf(TrickResult).hashCode = function () {
|
|
2443
|
-
var result = getStringHashCode(this.
|
|
2444
|
-
result = imul(result, 31) + this.
|
|
2445
|
+
var result = getStringHashCode(this.pb9_1);
|
|
2446
|
+
result = imul(result, 31) + this.qb9_1 | 0;
|
|
2445
2447
|
return result;
|
|
2446
2448
|
};
|
|
2447
2449
|
protoOf(TrickResult).equals = function (other) {
|
|
@@ -2449,9 +2451,9 @@
|
|
|
2449
2451
|
return true;
|
|
2450
2452
|
if (!(other instanceof TrickResult))
|
|
2451
2453
|
return false;
|
|
2452
|
-
if (!(this.
|
|
2454
|
+
if (!(this.pb9_1 === other.pb9_1))
|
|
2453
2455
|
return false;
|
|
2454
|
-
if (!(this.
|
|
2456
|
+
if (!(this.qb9_1 === other.qb9_1))
|
|
2455
2457
|
return false;
|
|
2456
2458
|
return true;
|
|
2457
2459
|
};
|
|
@@ -2461,12 +2463,12 @@
|
|
|
2461
2463
|
var _iterator__ex2g4s = get_entries().t();
|
|
2462
2464
|
while (_iterator__ex2g4s.u()) {
|
|
2463
2465
|
var suit = _iterator__ex2g4s.v();
|
|
2464
|
-
var _iterator__ex2g4s_0 = $this.
|
|
2466
|
+
var _iterator__ex2g4s_0 = $this.mba_1.t();
|
|
2465
2467
|
while (_iterator__ex2g4s_0.u()) {
|
|
2466
2468
|
var name = _iterator__ex2g4s_0.v();
|
|
2467
2469
|
var idx = imul(suit.a1_1, 8) + name.a1_1 | 0;
|
|
2468
2470
|
if (idx < 32) {
|
|
2469
|
-
arr[idx] = Companion_instance_0.
|
|
2471
|
+
arr[idx] = Companion_instance_0.z6l(suit, name);
|
|
2470
2472
|
}
|
|
2471
2473
|
}
|
|
2472
2474
|
}
|
|
@@ -2487,7 +2489,7 @@
|
|
|
2487
2489
|
var currentSizes = new Int32Array(opponents.g1());
|
|
2488
2490
|
var assigned = booleanArray(32);
|
|
2489
2491
|
// Inline function 'kotlin.collections.sortedBy' call
|
|
2490
|
-
var this_0 = get_indices_0(belief.
|
|
2492
|
+
var this_0 = get_indices_0(belief.lb7_1);
|
|
2491
2493
|
// Inline function 'kotlin.comparisons.compareBy' call
|
|
2492
2494
|
var tmp = WorldSampler$sampleOneWorld$lambda($this, belief);
|
|
2493
2495
|
var tmp$ret$4 = new sam$kotlin_Comparator$0_0(tmp);
|
|
@@ -2495,8 +2497,8 @@
|
|
|
2495
2497
|
var _iterator__ex2g4s_0 = sortedHiddenIndices.t();
|
|
2496
2498
|
$l$loop_1: while (_iterator__ex2g4s_0.u()) {
|
|
2497
2499
|
var rowIdx = _iterator__ex2g4s_0.v();
|
|
2498
|
-
var cardIdx = belief.
|
|
2499
|
-
var probs = belief.
|
|
2500
|
+
var cardIdx = belief.lb7_1[rowIdx];
|
|
2501
|
+
var probs = belief.kb7_1[rowIdx];
|
|
2500
2502
|
var placed = false;
|
|
2501
2503
|
var inductionVariable = 0;
|
|
2502
2504
|
if (inductionVariable < 100)
|
|
@@ -2560,7 +2562,7 @@
|
|
|
2560
2562
|
return new SampledWorld(destination);
|
|
2561
2563
|
}
|
|
2562
2564
|
function sampleFromDistribution($this, probs) {
|
|
2563
|
-
var r = $this.
|
|
2565
|
+
var r = $this.jba_1.bj();
|
|
2564
2566
|
var cumulative = 0.0;
|
|
2565
2567
|
var inductionVariable = 0;
|
|
2566
2568
|
var last = probs.length - 1 | 0;
|
|
@@ -2590,8 +2592,8 @@
|
|
|
2590
2592
|
}
|
|
2591
2593
|
function Companion_3() {
|
|
2592
2594
|
Companion_instance_5 = this;
|
|
2593
|
-
this.
|
|
2594
|
-
this.
|
|
2595
|
+
this.lba_1 = 100;
|
|
2596
|
+
this.mba_1 = listOf([CardName_ACE_getInstance(), CardName_KING_getInstance(), CardName_QUEEN_getInstance(), CardName_JACK_getInstance(), CardName_TEN_getInstance(), CardName_NINE_getInstance(), CardName_EIGHT_getInstance(), CardName_SEVEN_getInstance()]);
|
|
2595
2597
|
}
|
|
2596
2598
|
var Companion_instance_5;
|
|
2597
2599
|
function Companion_getInstance_3() {
|
|
@@ -2600,16 +2602,16 @@
|
|
|
2600
2602
|
return Companion_instance_5;
|
|
2601
2603
|
}
|
|
2602
2604
|
function sam$kotlin_Comparator$0_0(function_0) {
|
|
2603
|
-
this.
|
|
2605
|
+
this.nba_1 = function_0;
|
|
2604
2606
|
}
|
|
2605
2607
|
protoOf(sam$kotlin_Comparator$0_0).hd = function (a, b) {
|
|
2606
|
-
return this.
|
|
2608
|
+
return this.nba_1(a, b);
|
|
2607
2609
|
};
|
|
2608
2610
|
protoOf(sam$kotlin_Comparator$0_0).compare = function (a, b) {
|
|
2609
2611
|
return this.hd(a, b);
|
|
2610
2612
|
};
|
|
2611
2613
|
protoOf(sam$kotlin_Comparator$0_0).s3 = function () {
|
|
2612
|
-
return this.
|
|
2614
|
+
return this.nba_1;
|
|
2613
2615
|
};
|
|
2614
2616
|
protoOf(sam$kotlin_Comparator$0_0).equals = function (other) {
|
|
2615
2617
|
var tmp;
|
|
@@ -2632,18 +2634,18 @@
|
|
|
2632
2634
|
function WorldSampler$sampleOneWorld$lambda(this$0, $belief) {
|
|
2633
2635
|
return function (a, b) {
|
|
2634
2636
|
// Inline function 'kotlin.comparisons.compareValuesBy' call
|
|
2635
|
-
var tmp = entropy(this$0, $belief.
|
|
2636
|
-
var tmp$ret$1 = entropy(this$0, $belief.
|
|
2637
|
+
var tmp = entropy(this$0, $belief.kb7_1[a]);
|
|
2638
|
+
var tmp$ret$1 = entropy(this$0, $belief.kb7_1[b]);
|
|
2637
2639
|
return compareValues(tmp, tmp$ret$1);
|
|
2638
2640
|
};
|
|
2639
2641
|
}
|
|
2640
2642
|
function WorldSampler(random) {
|
|
2641
2643
|
Companion_getInstance_3();
|
|
2642
|
-
this.
|
|
2644
|
+
this.jba_1 = random;
|
|
2643
2645
|
}
|
|
2644
|
-
protoOf(WorldSampler).
|
|
2645
|
-
var focalIndex = state.
|
|
2646
|
-
var n = state.
|
|
2646
|
+
protoOf(WorldSampler).kba = function (state, belief, worldCount) {
|
|
2647
|
+
var focalIndex = state.rb5_1.o2(state.qb5_1);
|
|
2648
|
+
var n = state.rb5_1.g1();
|
|
2647
2649
|
// Inline function 'kotlin.collections.map' call
|
|
2648
2650
|
var this_0 = until(1, n);
|
|
2649
2651
|
// Inline function 'kotlin.collections.mapTo' call
|
|
@@ -2655,7 +2657,7 @@
|
|
|
2655
2657
|
var item = inductionVariable;
|
|
2656
2658
|
inductionVariable = inductionVariable + 1 | 0;
|
|
2657
2659
|
var absIdx = (focalIndex + item | 0) % n | 0;
|
|
2658
|
-
var tmp$ret$0 = state.
|
|
2660
|
+
var tmp$ret$0 = state.rb5_1.h1(absIdx);
|
|
2659
2661
|
destination.e1(tmp$ret$0);
|
|
2660
2662
|
}
|
|
2661
2663
|
while (!(item === last));
|
|
@@ -2666,9 +2668,9 @@
|
|
|
2666
2668
|
var _iterator__ex2g4s = opponents.t();
|
|
2667
2669
|
while (_iterator__ex2g4s.u()) {
|
|
2668
2670
|
var item_0 = _iterator__ex2g4s.v();
|
|
2669
|
-
var tmp0_elvis_lhs = state.
|
|
2671
|
+
var tmp0_elvis_lhs = state.tb5_1.v2(item_0);
|
|
2670
2672
|
var played = (tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs).g1();
|
|
2671
|
-
var tmp0 = state.
|
|
2673
|
+
var tmp0 = state.ub5_1;
|
|
2672
2674
|
var tmp$ret$3;
|
|
2673
2675
|
$l$block: {
|
|
2674
2676
|
// Inline function 'kotlin.collections.count' call
|
|
@@ -2686,7 +2688,7 @@
|
|
|
2686
2688
|
var _iterator__ex2g4s_0 = tmp0.t();
|
|
2687
2689
|
while (_iterator__ex2g4s_0.u()) {
|
|
2688
2690
|
var element = _iterator__ex2g4s_0.v();
|
|
2689
|
-
if (element.
|
|
2691
|
+
if (element.h8j_1 === item_0) {
|
|
2690
2692
|
count = count + 1 | 0;
|
|
2691
2693
|
checkCountOverflow(count);
|
|
2692
2694
|
}
|
|
@@ -2694,7 +2696,7 @@
|
|
|
2694
2696
|
tmp$ret$3 = count;
|
|
2695
2697
|
}
|
|
2696
2698
|
var onTable = tmp$ret$3;
|
|
2697
|
-
var tmp$ret$5 = coerceAtLeast_0((state.
|
|
2699
|
+
var tmp$ret$5 = coerceAtLeast_0((state.jb6_1 - played | 0) - onTable | 0, 0);
|
|
2698
2700
|
destination_0.e1(tmp$ret$5);
|
|
2699
2701
|
}
|
|
2700
2702
|
var handSizes = destination_0;
|
|
@@ -2715,20 +2717,20 @@
|
|
|
2715
2717
|
return list;
|
|
2716
2718
|
};
|
|
2717
2719
|
function SampledWorld(hands) {
|
|
2718
|
-
this.
|
|
2720
|
+
this.bba_1 = hands;
|
|
2719
2721
|
}
|
|
2720
2722
|
protoOf(SampledWorld).toString = function () {
|
|
2721
|
-
return 'SampledWorld(hands=' + toString_0(this.
|
|
2723
|
+
return 'SampledWorld(hands=' + toString_0(this.bba_1) + ')';
|
|
2722
2724
|
};
|
|
2723
2725
|
protoOf(SampledWorld).hashCode = function () {
|
|
2724
|
-
return hashCode(this.
|
|
2726
|
+
return hashCode(this.bba_1);
|
|
2725
2727
|
};
|
|
2726
2728
|
protoOf(SampledWorld).equals = function (other) {
|
|
2727
2729
|
if (this === other)
|
|
2728
2730
|
return true;
|
|
2729
2731
|
if (!(other instanceof SampledWorld))
|
|
2730
2732
|
return false;
|
|
2731
|
-
if (!equals(this.
|
|
2733
|
+
if (!equals(this.bba_1, other.bba_1))
|
|
2732
2734
|
return false;
|
|
2733
2735
|
return true;
|
|
2734
2736
|
};
|
|
@@ -2736,11 +2738,6 @@
|
|
|
2736
2738
|
// Inline function 'kotlin.math.ln' call
|
|
2737
2739
|
return Math.log(x);
|
|
2738
2740
|
}
|
|
2739
|
-
function FirstLegalActionPolicy() {
|
|
2740
|
-
}
|
|
2741
|
-
protoOf(FirstLegalActionPolicy).xb6 = function (state, legalActions) {
|
|
2742
|
-
return first(legalActions);
|
|
2743
|
-
};
|
|
2744
2741
|
function PimcBotPolicy_init_$Init$(pimcEngine, $this) {
|
|
2745
2742
|
PimcBotPolicy.call($this, pimcEngine, new SuitSelectionPolicy());
|
|
2746
2743
|
return $this;
|
|
@@ -2749,10 +2746,10 @@
|
|
|
2749
2746
|
return PimcBotPolicy_init_$Init$(pimcEngine, objectCreate(protoOf(PimcBotPolicy)));
|
|
2750
2747
|
}
|
|
2751
2748
|
function PimcBotPolicy(pimcEngine, suitSelectionPolicy) {
|
|
2752
|
-
this.
|
|
2753
|
-
this.
|
|
2749
|
+
this.oba_1 = pimcEngine;
|
|
2750
|
+
this.pba_1 = suitSelectionPolicy;
|
|
2754
2751
|
}
|
|
2755
|
-
protoOf(PimcBotPolicy).
|
|
2752
|
+
protoOf(PimcBotPolicy).zb7 = function (state, legalActions) {
|
|
2756
2753
|
if (legalActions.g1() === 1)
|
|
2757
2754
|
return first(legalActions);
|
|
2758
2755
|
var tmp;
|
|
@@ -2780,7 +2777,7 @@
|
|
|
2780
2777
|
tmp$ret$0 = false;
|
|
2781
2778
|
}
|
|
2782
2779
|
if (tmp$ret$0) {
|
|
2783
|
-
var scores = this.
|
|
2780
|
+
var scores = this.oba_1.iba(state, legalActions);
|
|
2784
2781
|
// Inline function 'kotlin.collections.maxByOrNull' call
|
|
2785
2782
|
var tmp0 = scores.m1();
|
|
2786
2783
|
var tmp$ret$2;
|
|
@@ -2836,7 +2833,7 @@
|
|
|
2836
2833
|
tmp$ret$6 = false;
|
|
2837
2834
|
}
|
|
2838
2835
|
if (tmp$ret$6) {
|
|
2839
|
-
tmp = this.
|
|
2836
|
+
tmp = this.pba_1.qba(state, legalActions);
|
|
2840
2837
|
} else {
|
|
2841
2838
|
var tmp$ret$8;
|
|
2842
2839
|
$l$block_6: {
|
|
@@ -2870,7 +2867,7 @@
|
|
|
2870
2867
|
var element_2 = _iterator__ex2g4s_2.v();
|
|
2871
2868
|
var tmp_3;
|
|
2872
2869
|
if (element_2 instanceof AcceptCombinations) {
|
|
2873
|
-
tmp_3 = element_2.
|
|
2870
|
+
tmp_3 = element_2.pb5_1;
|
|
2874
2871
|
} else {
|
|
2875
2872
|
tmp_3 = false;
|
|
2876
2873
|
}
|
|
@@ -2890,6 +2887,13 @@
|
|
|
2890
2887
|
}
|
|
2891
2888
|
return tmp;
|
|
2892
2889
|
};
|
|
2890
|
+
function RandomPolicy(random) {
|
|
2891
|
+
random = random === VOID ? Default_getInstance() : random;
|
|
2892
|
+
this.rba_1 = random;
|
|
2893
|
+
}
|
|
2894
|
+
protoOf(RandomPolicy).zb7 = function (state, legalActions) {
|
|
2895
|
+
return legalActions.h1(this.rba_1.k1(legalActions.g1()));
|
|
2896
|
+
};
|
|
2893
2897
|
function selectLead($this, legalCards, trump) {
|
|
2894
2898
|
// Inline function 'kotlin.collections.filter' call
|
|
2895
2899
|
// Inline function 'kotlin.collections.filterTo' call
|
|
@@ -2897,7 +2901,7 @@
|
|
|
2897
2901
|
var _iterator__ex2g4s = legalCards.t();
|
|
2898
2902
|
while (_iterator__ex2g4s.u()) {
|
|
2899
2903
|
var element = _iterator__ex2g4s.v();
|
|
2900
|
-
if (element.m().equals(CardName_ACE_getInstance()) && !element.
|
|
2904
|
+
if (element.m().equals(CardName_ACE_getInstance()) && !element.w6l().equals(trump)) {
|
|
2901
2905
|
destination.e1(element);
|
|
2902
2906
|
}
|
|
2903
2907
|
}
|
|
@@ -2911,7 +2915,7 @@
|
|
|
2911
2915
|
var _iterator__ex2g4s_0 = legalCards.t();
|
|
2912
2916
|
while (_iterator__ex2g4s_0.u()) {
|
|
2913
2917
|
var element_0 = _iterator__ex2g4s_0.v();
|
|
2914
|
-
if (element_0.m().equals(CardName_TEN_getInstance()) && !element_0.
|
|
2918
|
+
if (element_0.m().equals(CardName_TEN_getInstance()) && !element_0.w6l().equals(trump)) {
|
|
2915
2919
|
destination_0.e1(element_0);
|
|
2916
2920
|
}
|
|
2917
2921
|
}
|
|
@@ -2925,7 +2929,7 @@
|
|
|
2925
2929
|
var _iterator__ex2g4s_1 = legalCards.t();
|
|
2926
2930
|
while (_iterator__ex2g4s_1.u()) {
|
|
2927
2931
|
var element_1 = _iterator__ex2g4s_1.v();
|
|
2928
|
-
if (!element_1.
|
|
2932
|
+
if (!element_1.w6l().equals(trump)) {
|
|
2929
2933
|
destination_1.e1(element_1);
|
|
2930
2934
|
}
|
|
2931
2935
|
}
|
|
@@ -2991,7 +2995,7 @@
|
|
|
2991
2995
|
return tmp1_elvis_lhs == null ? first(legalCards) : tmp1_elvis_lhs;
|
|
2992
2996
|
}
|
|
2993
2997
|
function selectFollow($this, legalCards, currentTrick, trump, partnerWinning) {
|
|
2994
|
-
var firstSuit = first(currentTrick).
|
|
2998
|
+
var firstSuit = first(currentTrick).jb9_1.w6l();
|
|
2995
2999
|
if (partnerWinning) {
|
|
2996
3000
|
var tmp$ret$0;
|
|
2997
3001
|
$l$block_0: {
|
|
@@ -3027,10 +3031,10 @@
|
|
|
3027
3031
|
if (!iterator_0.u())
|
|
3028
3032
|
throw NoSuchElementException_init_$Create$();
|
|
3029
3033
|
var it_0 = iterator_0.v();
|
|
3030
|
-
var maxValue = getGrowth(it_0.
|
|
3034
|
+
var maxValue = getGrowth(it_0.jb9_1, trump, firstSuit);
|
|
3031
3035
|
while (iterator_0.u()) {
|
|
3032
3036
|
var it_1 = iterator_0.v();
|
|
3033
|
-
var v_0 = getGrowth(it_1.
|
|
3037
|
+
var v_0 = getGrowth(it_1.jb9_1, trump, firstSuit);
|
|
3034
3038
|
if (compareTo(maxValue, v_0) < 0) {
|
|
3035
3039
|
maxValue = v_0;
|
|
3036
3040
|
}
|
|
@@ -3109,7 +3113,7 @@
|
|
|
3109
3113
|
}
|
|
3110
3114
|
function RolloutPolicy() {
|
|
3111
3115
|
}
|
|
3112
|
-
protoOf(RolloutPolicy).
|
|
3116
|
+
protoOf(RolloutPolicy).nb9 = function (hand, legalCards, currentTrick, trump, partnerPlayerId, partnerWinning) {
|
|
3113
3117
|
if (legalCards.g1() === 1)
|
|
3114
3118
|
return first(legalCards);
|
|
3115
3119
|
var tmp;
|
|
@@ -3143,7 +3147,7 @@
|
|
|
3143
3147
|
}
|
|
3144
3148
|
function SuitSelectionPolicy() {
|
|
3145
3149
|
}
|
|
3146
|
-
protoOf(SuitSelectionPolicy).
|
|
3150
|
+
protoOf(SuitSelectionPolicy).qba = function (state, legalActions) {
|
|
3147
3151
|
// Inline function 'kotlin.collections.filterIsInstance' call
|
|
3148
3152
|
// Inline function 'kotlin.collections.filterIsInstanceTo' call
|
|
3149
3153
|
var destination = ArrayList_init_$Create$();
|
|
@@ -3165,7 +3169,7 @@
|
|
|
3165
3169
|
var _iterator__ex2g4s_0 = suitActions.t();
|
|
3166
3170
|
while (_iterator__ex2g4s_0.u()) {
|
|
3167
3171
|
var element_0 = _iterator__ex2g4s_0.v();
|
|
3168
|
-
if (element_0.
|
|
3172
|
+
if (element_0.ob5_1 == null) {
|
|
3169
3173
|
tmp$ret$3 = element_0;
|
|
3170
3174
|
break $l$block;
|
|
3171
3175
|
}
|
|
@@ -3179,7 +3183,7 @@
|
|
|
3179
3183
|
var _iterator__ex2g4s_1 = suitActions.t();
|
|
3180
3184
|
while (_iterator__ex2g4s_1.u()) {
|
|
3181
3185
|
var element_1 = _iterator__ex2g4s_1.v();
|
|
3182
|
-
if (!(element_1.
|
|
3186
|
+
if (!(element_1.ob5_1 == null)) {
|
|
3183
3187
|
destination_0.e1(element_1);
|
|
3184
3188
|
}
|
|
3185
3189
|
}
|
|
@@ -3188,10 +3192,10 @@
|
|
|
3188
3192
|
return passAction == null ? first(suitActions) : passAction;
|
|
3189
3193
|
}
|
|
3190
3194
|
var tmp;
|
|
3191
|
-
if (state.
|
|
3195
|
+
if (state.yb5_1.r()) {
|
|
3192
3196
|
tmp = 1;
|
|
3193
3197
|
} else {
|
|
3194
|
-
var tmp0 = state.
|
|
3198
|
+
var tmp0 = state.yb5_1;
|
|
3195
3199
|
var tmp$ret$7;
|
|
3196
3200
|
$l$block_0: {
|
|
3197
3201
|
// Inline function 'kotlin.collections.maxOfOrNull' call
|
|
@@ -3200,9 +3204,9 @@
|
|
|
3200
3204
|
tmp$ret$7 = null;
|
|
3201
3205
|
break $l$block_0;
|
|
3202
3206
|
}
|
|
3203
|
-
var maxValue = iterator.v().
|
|
3207
|
+
var maxValue = iterator.v().yb6_1;
|
|
3204
3208
|
while (iterator.u()) {
|
|
3205
|
-
var v = iterator.v().
|
|
3209
|
+
var v = iterator.v().yb6_1;
|
|
3206
3210
|
if (compareTo(maxValue, v) < 0) {
|
|
3207
3211
|
maxValue = v;
|
|
3208
3212
|
}
|
|
@@ -3213,14 +3217,14 @@
|
|
|
3213
3217
|
tmp = tmp2_elvis_lhs == null ? 1 : tmp2_elvis_lhs;
|
|
3214
3218
|
}
|
|
3215
3219
|
var circle = tmp;
|
|
3216
|
-
var thresholds = getThresholds(this, state.
|
|
3220
|
+
var thresholds = getThresholds(this, state.ib6_1);
|
|
3217
3221
|
var threshold = circle <= 1 ? thresholds.first : thresholds.second;
|
|
3218
3222
|
var bestSuit = null;
|
|
3219
3223
|
var bestEhv = 0;
|
|
3220
3224
|
var _iterator__ex2g4s_2 = declareActions.t();
|
|
3221
3225
|
$l$loop: while (_iterator__ex2g4s_2.u()) {
|
|
3222
3226
|
var action = _iterator__ex2g4s_2.v();
|
|
3223
|
-
var tmp3_elvis_lhs = action.
|
|
3227
|
+
var tmp3_elvis_lhs = action.ob5_1;
|
|
3224
3228
|
var tmp_0;
|
|
3225
3229
|
if (tmp3_elvis_lhs == null) {
|
|
3226
3230
|
continue $l$loop;
|
|
@@ -3228,14 +3232,14 @@
|
|
|
3228
3232
|
tmp_0 = tmp3_elvis_lhs;
|
|
3229
3233
|
}
|
|
3230
3234
|
var suit = tmp_0;
|
|
3231
|
-
var ehv = computeEhv(this, state.
|
|
3232
|
-
var tmp4_safe_receiver = state.
|
|
3235
|
+
var ehv = computeEhv(this, state.sb5_1, suit);
|
|
3236
|
+
var tmp4_safe_receiver = state.wb5_1;
|
|
3233
3237
|
var tmp_1;
|
|
3234
3238
|
if (tmp4_safe_receiver == null) {
|
|
3235
3239
|
tmp_1 = null;
|
|
3236
3240
|
} else {
|
|
3237
3241
|
// Inline function 'kotlin.let' call
|
|
3238
|
-
tmp_1 = tmp4_safe_receiver.
|
|
3242
|
+
tmp_1 = tmp4_safe_receiver.w6l().equals(suit) ? getPoint(tmp4_safe_receiver, suit) : 0;
|
|
3239
3243
|
}
|
|
3240
3244
|
var tmp5_elvis_lhs = tmp_1;
|
|
3241
3245
|
var trumpBonus = tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs;
|