@gamepark/rules-api 7.0.0-beta.0 → 7.0.0-beta.2
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/dist/Action.js +1 -2
- package/dist/Bot.js +15 -37
- package/dist/Bot.js.map +1 -1
- package/dist/Competitive.js +3 -8
- package/dist/Competitive.js.map +1 -1
- package/dist/Eliminations.js +2 -5
- package/dist/Eliminations.js.map +1 -1
- package/dist/GameSetup.js +1 -2
- package/dist/HiddenInformation.js +2 -5
- package/dist/HiddenInformation.js.map +1 -1
- package/dist/LocalMovePreview.js +1 -4
- package/dist/LocalMovePreview.js.map +1 -1
- package/dist/RandomMove.js +1 -2
- package/dist/Rules.js +49 -56
- package/dist/Rules.js.map +1 -1
- package/dist/SecretInformation.js +2 -5
- package/dist/SecretInformation.js.map +1 -1
- package/dist/TimeLimit.js +1 -4
- package/dist/TimeLimit.js.map +1 -1
- package/dist/Undo.js +2 -5
- package/dist/Undo.js.map +1 -1
- package/dist/UnpredictableMove.js +1 -5
- package/dist/UnpredictableMove.js.map +1 -1
- package/dist/index.js +16 -32
- package/dist/index.js.map +1 -1
- package/dist/material/HiddenMaterialRules.js +125 -180
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialGame.js +1 -2
- package/dist/material/MaterialGameSetup.js +52 -70
- package/dist/material/MaterialGameSetup.js.map +1 -1
- package/dist/material/MaterialRules.js +186 -250
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/SecretMaterialRules.js +9 -35
- package/dist/material/SecretMaterialRules.js.map +1 -1
- package/dist/material/index.js +11 -27
- package/dist/material/index.js.map +1 -1
- package/dist/material/items/Material.js +177 -262
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialDeck.js +10 -36
- package/dist/material/items/MaterialDeck.js.map +1 -1
- package/dist/material/items/MaterialItem.js +1 -2
- package/dist/material/items/MaterialMoney.js +89 -141
- package/dist/material/items/MaterialMoney.js.map +1 -1
- package/dist/material/items/MaterialMutator.js +108 -145
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/items/index.js +5 -21
- package/dist/material/items/index.js.map +1 -1
- package/dist/material/location/Location.js +1 -14
- package/dist/material/location/Location.js.map +1 -1
- package/dist/material/location/LocationBuilder.js +26 -41
- package/dist/material/location/LocationBuilder.js.map +1 -1
- package/dist/material/location/index.js +3 -19
- package/dist/material/location/index.js.map +1 -1
- package/dist/material/location/strategy/FillGapStrategy.js +9 -16
- package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
- package/dist/material/location/strategy/LocationStrategy.js +1 -2
- package/dist/material/location/strategy/PositiveSequenceStrategy.js +26 -35
- package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
- package/dist/material/location/strategy/StackingStrategy.js +15 -22
- package/dist/material/location/strategy/StackingStrategy.js.map +1 -1
- package/dist/material/location/strategy/index.js +5 -23
- package/dist/material/location/strategy/index.js.map +1 -1
- package/dist/material/memory/GameMemory.js +10 -14
- package/dist/material/memory/GameMemory.js.map +1 -1
- package/dist/material/memory/PlayerMemory.js +13 -18
- package/dist/material/memory/PlayerMemory.js.map +1 -1
- package/dist/material/memory/index.js +2 -18
- package/dist/material/memory/index.js.map +1 -1
- package/dist/material/moves/CustomMove.js +4 -9
- package/dist/material/moves/CustomMove.js.map +1 -1
- package/dist/material/moves/MaterialMove.js +1 -2
- package/dist/material/moves/MaterialMoveBuilder.js +16 -32
- package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
- package/dist/material/moves/MoveKind.js +2 -5
- package/dist/material/moves/MoveKind.js.map +1 -1
- package/dist/material/moves/index.js +7 -23
- package/dist/material/moves/index.js.map +1 -1
- package/dist/material/moves/items/CreateItem.js +6 -12
- package/dist/material/moves/items/CreateItem.js.map +1 -1
- package/dist/material/moves/items/CreateItemsAtOnce.js +6 -12
- package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/DeleteItem.js +6 -12
- package/dist/material/moves/items/DeleteItem.js.map +1 -1
- package/dist/material/moves/items/DeleteItemsAtOnce.js +6 -12
- package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/ItemMove.js +1 -2
- package/dist/material/moves/items/ItemMoveType.js +2 -5
- package/dist/material/moves/items/ItemMoveType.js.map +1 -1
- package/dist/material/moves/items/MoveItem.js +6 -12
- package/dist/material/moves/items/MoveItem.js.map +1 -1
- package/dist/material/moves/items/MoveItemsAtOnce.js +6 -12
- package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/RollItem.js +6 -12
- package/dist/material/moves/items/RollItem.js.map +1 -1
- package/dist/material/moves/items/SelectItem.js +6 -12
- package/dist/material/moves/items/SelectItem.js.map +1 -1
- package/dist/material/moves/items/Shuffle.js +7 -14
- package/dist/material/moves/items/Shuffle.js.map +1 -1
- package/dist/material/moves/items/index.js +11 -27
- package/dist/material/moves/items/index.js.map +1 -1
- package/dist/material/moves/local/CloseTutorialPopup.js +4 -7
- package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
- package/dist/material/moves/local/DisplayHelp.js +2 -5
- package/dist/material/moves/local/DisplayHelp.js.map +1 -1
- package/dist/material/moves/local/DropItem.js +1 -2
- package/dist/material/moves/local/LocalMove.js +2 -5
- package/dist/material/moves/local/LocalMove.js.map +1 -1
- package/dist/material/moves/local/SetTutorialStep.js +4 -7
- package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
- package/dist/material/moves/local/index.js +5 -21
- package/dist/material/moves/local/index.js.map +1 -1
- package/dist/material/moves/rules/EndGame.js +4 -7
- package/dist/material/moves/rules/EndGame.js.map +1 -1
- package/dist/material/moves/rules/EndPlayerTurn.js +4 -7
- package/dist/material/moves/rules/EndPlayerTurn.js.map +1 -1
- package/dist/material/moves/rules/RuleMove.js +3 -7
- package/dist/material/moves/rules/RuleMove.js.map +1 -1
- package/dist/material/moves/rules/StartPlayerTurn.js +4 -7
- package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
- package/dist/material/moves/rules/StartRule.js +4 -7
- package/dist/material/moves/rules/StartRule.js.map +1 -1
- package/dist/material/moves/rules/StartSimultaneousRule.js +4 -7
- package/dist/material/moves/rules/StartSimultaneousRule.js.map +1 -1
- package/dist/material/moves/rules/index.js +6 -22
- package/dist/material/moves/rules/index.js.map +1 -1
- package/dist/material/rules/MaterialRulesPart.js +38 -63
- package/dist/material/rules/MaterialRulesPart.js.map +1 -1
- package/dist/material/rules/PlayerTurnRule.js +20 -52
- package/dist/material/rules/PlayerTurnRule.js.map +1 -1
- package/dist/material/rules/RuleStep.js +1 -2
- package/dist/material/rules/SimultaneousRule.js +19 -51
- package/dist/material/rules/SimultaneousRule.js.map +1 -1
- package/dist/material/rules/index.js +4 -20
- package/dist/material/rules/index.js.map +1 -1
- package/dist/material/tutorial/TutorialState.js +1 -2
- package/dist/material/tutorial/index.js +1 -17
- package/dist/material/tutorial/index.js.map +1 -1
- package/dist/options/EnumArrayOption.js +3 -6
- package/dist/options/EnumArrayOption.js.map +1 -1
- package/dist/options/EnumOption.js +1 -4
- package/dist/options/EnumOption.js.map +1 -1
- package/dist/options/Option.js +1 -2
- package/dist/options/OptionSpecOf.js +1 -2
- package/dist/options/OptionsSpec.js +1 -2
- package/dist/options/OptionsValidationError.js +6 -28
- package/dist/options/OptionsValidationError.js.map +1 -1
- package/dist/options/PlayerEnumOption.js +19 -29
- package/dist/options/PlayerEnumOption.js.map +1 -1
- package/dist/options/PlayersOptionsSpec.js +1 -2
- package/dist/options/WithIdOption.js +1 -2
- package/dist/options/WithPlayerOptionsSpec.js +1 -4
- package/dist/options/WithPlayerOptionsSpec.js.map +1 -1
- package/dist/options/WithPlayersOptions.js +1 -2
- package/dist/options/index.js +12 -28
- package/dist/options/index.js.map +1 -1
- package/dist/options/isWithPlayerIdOptions.js +3 -6
- package/dist/options/isWithPlayerIdOptions.js.map +1 -1
- package/dist/utils/action-view.util.js +18 -25
- package/dist/utils/action-view.util.js.map +1 -1
- package/dist/utils/action.util.js +11 -16
- package/dist/utils/action.util.js.map +1 -1
- package/dist/utils/adjacent-groups.util.js +33 -41
- package/dist/utils/adjacent-groups.util.js.map +1 -1
- package/dist/utils/automatic-moves.util.js +10 -15
- package/dist/utils/automatic-moves.util.js.map +1 -1
- package/dist/utils/enum.util.js +7 -13
- package/dist/utils/enum.util.js.map +1 -1
- package/dist/utils/game-view.util.js +5 -8
- package/dist/utils/game-view.util.js.map +1 -1
- package/dist/utils/grid.hex.util.js +36 -88
- package/dist/utils/grid.hex.util.js.map +1 -1
- package/dist/utils/grid.squares.util.js +8 -19
- package/dist/utils/grid.squares.util.js.map +1 -1
- package/dist/utils/grid.util.js +1 -5
- package/dist/utils/grid.util.js.map +1 -1
- package/dist/utils/index.js +16 -32
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/listing.util.js +8 -13
- package/dist/utils/listing.util.js.map +1 -1
- package/dist/utils/loops.util.js +3 -6
- package/dist/utils/loops.util.js.map +1 -1
- package/dist/utils/money.util.js +54 -73
- package/dist/utils/money.util.js.map +1 -1
- package/dist/utils/neighbors.util.js +6 -10
- package/dist/utils/neighbors.util.js.map +1 -1
- package/dist/utils/polyhex.util.js +36 -56
- package/dist/utils/polyhex.util.js.map +1 -1
- package/dist/utils/random.util.js +2 -5
- package/dist/utils/random.util.js.map +1 -1
- package/dist/utils/rank.util.js +9 -13
- package/dist/utils/rank.util.js.map +1 -1
- package/package.json +43 -37
- package/dist/ApplyAutomaticMoves.d.ts +0 -2
- package/dist/ApplyAutomaticMoves.js +0 -25
- package/dist/ApplyAutomaticMoves.js.map +0 -1
- package/dist/DefaultGameSetup.d.ts +0 -7
- package/dist/DefaultGameSetup.js +0 -15
- package/dist/DefaultGameSetup.js.map +0 -1
- package/dist/Dummy.d.ts +0 -7
- package/dist/Dummy.js +0 -27
- package/dist/Dummy.js.map +0 -1
- package/dist/GameSetupCreator.d.ts +0 -4
- package/dist/GameSetupCreator.js +0 -3
- package/dist/GameSetupCreator.js.map +0 -1
- package/dist/IncompleteInformation.d.ts +0 -14
- package/dist/IncompleteInformation.js +0 -38
- package/dist/IncompleteInformation.js.map +0 -1
- package/dist/LoopWithFuse.d.ts +0 -4
- package/dist/LoopWithFuse.js +0 -15
- package/dist/LoopWithFuse.js.map +0 -1
- package/dist/Robot.d.ts +0 -1
- package/dist/Robot.js +0 -3
- package/dist/Robot.js.map +0 -1
- package/dist/RulesCreator.d.ts +0 -7
- package/dist/RulesCreator.js +0 -3
- package/dist/RulesCreator.js.map +0 -1
- package/dist/material/location/strategy/StakingStrategy.d.ts +0 -12
- package/dist/material/location/strategy/StakingStrategy.js +0 -32
- package/dist/material/location/strategy/StakingStrategy.js.map +0 -1
- package/dist/material/moves/items/ItemMovesBuilder.d.ts +0 -8
- package/dist/material/moves/items/ItemMovesBuilder.js +0 -34
- package/dist/material/moves/items/ItemMovesBuilder.js.map +0 -1
- package/dist/material/rules/MaterialMoveBuilder.d.ts +0 -9
- package/dist/material/rules/MaterialMoveBuilder.js +0 -28
- package/dist/material/rules/MaterialMoveBuilder.js.map +0 -1
- package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +0 -12
- package/dist/material/rules/MaterialRulesMovesBuilder.js +0 -36
- package/dist/material/rules/MaterialRulesMovesBuilder.js.map +0 -1
- package/dist/setup/DefaultGameSetup.d.ts +0 -7
- package/dist/setup/DefaultGameSetup.js +0 -15
- package/dist/setup/DefaultGameSetup.js.map +0 -1
- package/dist/setup/GameSetup.d.ts +0 -3
- package/dist/setup/GameSetup.js +0 -3
- package/dist/setup/GameSetup.js.map +0 -1
- package/dist/setup/GameSetupCreator.d.ts +0 -4
- package/dist/setup/GameSetupCreator.js +0 -3
- package/dist/setup/GameSetupCreator.js.map +0 -1
- package/dist/setup/index.d.ts +0 -2
- package/dist/setup/index.js +0 -19
- package/dist/setup/index.js.map +0 -1
- package/dist/utils/EnumUtils.d.ts +0 -1
- package/dist/utils/EnumUtils.js +0 -8
- package/dist/utils/EnumUtils.js.map +0 -1
- package/dist/utils/coordinates.util.d.ts +0 -5
- package/dist/utils/coordinates.util.js +0 -16
- package/dist/utils/coordinates.util.js.map +0 -1
- package/dist/utils/isDeadEndMove.util.d.ts +0 -2
- package/dist/utils/isDeadEndMove.util.js +0 -19
- package/dist/utils/isDeadEndMove.util.js.map +0 -1
|
@@ -1,59 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var items_1 = require("./items");
|
|
6
|
-
var memory_1 = require("./memory");
|
|
7
|
-
var moves_1 = require("./moves");
|
|
1
|
+
import { applyAutomaticMoves, hasRandomMove } from '../utils';
|
|
2
|
+
import { Material } from './items';
|
|
3
|
+
import { GameMemory, PlayerMemory } from './memory';
|
|
4
|
+
import { MaterialMoveBuilder } from './moves';
|
|
8
5
|
/**
|
|
9
6
|
* Helper class to implement {@link GameSetup} when using the {@link MaterialRules} approach.
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
export class MaterialGameSetup {
|
|
9
|
+
/**
|
|
10
|
+
* The game setup state we are working on
|
|
11
|
+
* @protected
|
|
12
|
+
*/
|
|
13
|
+
game = { players: [], items: {}, memory: {} };
|
|
14
|
+
/**
|
|
15
|
+
* Get an instance of the rules of the game
|
|
16
|
+
*/
|
|
17
|
+
get rules() {
|
|
18
|
+
return new this.Rules(this.game);
|
|
18
19
|
}
|
|
19
|
-
Object.defineProperty(MaterialGameSetup.prototype, "rules", {
|
|
20
|
-
/**
|
|
21
|
-
* Get an instance of the rules of the game
|
|
22
|
-
*/
|
|
23
|
-
get: function () {
|
|
24
|
-
return new this.Rules(this.game);
|
|
25
|
-
},
|
|
26
|
-
enumerable: false,
|
|
27
|
-
configurable: true
|
|
28
|
-
});
|
|
29
20
|
/**
|
|
30
21
|
* Entry point for {@link GameSetup}
|
|
31
22
|
* @param options Options of the game
|
|
32
23
|
* @param tutorial Initial tutorial state if any
|
|
33
24
|
* @returns the initial state of the game
|
|
34
25
|
*/
|
|
35
|
-
|
|
36
|
-
this.game = { players: getPlayerIds(options), items: {}, memory: {}, tutorial
|
|
26
|
+
setup(options, tutorial) {
|
|
27
|
+
this.game = { players: getPlayerIds(options), items: {}, memory: {}, tutorial };
|
|
37
28
|
this.setupMaterial(options);
|
|
38
29
|
this.start(options);
|
|
39
30
|
return this.game;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
},
|
|
48
|
-
enumerable: false,
|
|
49
|
-
configurable: true
|
|
50
|
-
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @returns array of the player ids (shortcut for this.game.players)
|
|
34
|
+
*/
|
|
35
|
+
get players() {
|
|
36
|
+
return this.game.players;
|
|
37
|
+
}
|
|
51
38
|
/**
|
|
52
39
|
* Override this function if you need to set up some material before the game starts. Called by {@link setup}.
|
|
53
40
|
* @param _options Options of the game
|
|
54
41
|
*/
|
|
55
|
-
|
|
56
|
-
}
|
|
42
|
+
setupMaterial(_options) {
|
|
43
|
+
}
|
|
57
44
|
/**
|
|
58
45
|
* Help function to execute a move immediately on the game state.
|
|
59
46
|
* When the game is on, the moves should never be played directly: the framework takes care of playing the moves when necessary
|
|
@@ -64,22 +51,21 @@ var MaterialGameSetup = /** @class */ (function () {
|
|
|
64
51
|
* @param move The MaterialMove to play
|
|
65
52
|
* @protected
|
|
66
53
|
*/
|
|
67
|
-
|
|
68
|
-
if (
|
|
54
|
+
playMove(move) {
|
|
55
|
+
if (hasRandomMove(this.rules)) {
|
|
69
56
|
move = this.rules.randomize(move);
|
|
70
57
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
58
|
+
const consequences = this.rules.play(JSON.parse(JSON.stringify(move)));
|
|
59
|
+
applyAutomaticMoves(this.rules, consequences);
|
|
60
|
+
}
|
|
74
61
|
/**
|
|
75
62
|
* Helper function to manipulate the items of the game. See {@link Material}.
|
|
76
63
|
* @param type The type of Material we want to work on
|
|
77
64
|
* @returns a Material instance to manipulate all the material of that type in current game state.
|
|
78
65
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
};
|
|
66
|
+
material(type) {
|
|
67
|
+
return new Material(type, this.game.items[type], move => this.playMove(move));
|
|
68
|
+
}
|
|
83
69
|
/**
|
|
84
70
|
* Utility function to access the memory tool for the game or on player.
|
|
85
71
|
* this.game.memory can be used to store any data that is not available through the state of the material, or current rule.
|
|
@@ -88,53 +74,49 @@ var MaterialGameSetup = /** @class */ (function () {
|
|
|
88
74
|
* @returns {@link GameMemory} or {@link PlayerMemory} utility
|
|
89
75
|
* @protected
|
|
90
76
|
*/
|
|
91
|
-
|
|
92
|
-
return player === undefined ? new
|
|
93
|
-
}
|
|
77
|
+
getMemory(player) {
|
|
78
|
+
return player === undefined ? new GameMemory(this.game) : new PlayerMemory(this.game, player);
|
|
79
|
+
}
|
|
94
80
|
/**
|
|
95
81
|
* Helper function to memorize some information that does not fit in an item or the rules state, in the game state
|
|
96
82
|
* @param key Key under which the memory is store. Usually a value of a numeric enum named "Memory".
|
|
97
83
|
* @param value Value to memorize
|
|
98
84
|
* @param player optional, if we need to memorize a different value for each player.
|
|
99
85
|
*/
|
|
100
|
-
|
|
86
|
+
memorize(key, value, player) {
|
|
101
87
|
return this.getMemory(player).memorize(key, value);
|
|
102
|
-
}
|
|
88
|
+
}
|
|
103
89
|
/**
|
|
104
90
|
* Helper function to play a {@link StartPlayerTurn} move on the game setup state.
|
|
105
91
|
* @param id Rule id to start
|
|
106
92
|
* @param player Player that starts the game (default value: this.game.players[0])
|
|
107
93
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
};
|
|
94
|
+
startPlayerTurn(id, player = this.game.players[0]) {
|
|
95
|
+
this.playMove(MaterialMoveBuilder.startPlayerTurn(id, player));
|
|
96
|
+
}
|
|
112
97
|
/**
|
|
113
98
|
* Helper function to play a {@link StartSimultaneousRule} move on the game setup state.
|
|
114
99
|
* @param id Rule id to start
|
|
115
100
|
* @param players Players that are active (all the players by default)
|
|
116
101
|
*/
|
|
117
|
-
|
|
118
|
-
this.playMove(
|
|
119
|
-
}
|
|
102
|
+
startSimultaneousRule(id, players) {
|
|
103
|
+
this.playMove(MaterialMoveBuilder.startSimultaneousRule(id, players));
|
|
104
|
+
}
|
|
120
105
|
/**
|
|
121
106
|
* Helper function to play a {@link StartRule} move on the game setup state.
|
|
122
107
|
* @param id Rule id to start
|
|
123
108
|
*/
|
|
124
|
-
|
|
125
|
-
this.playMove(
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
}());
|
|
129
|
-
exports.MaterialGameSetup = MaterialGameSetup;
|
|
109
|
+
startRule(id) {
|
|
110
|
+
this.playMove(MaterialMoveBuilder.startRule(id));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
130
113
|
function getPlayerIds(options) {
|
|
131
|
-
var _a;
|
|
132
114
|
if (Array.isArray(options.players)) {
|
|
133
|
-
return options.players.map(
|
|
115
|
+
return options.players.map((player, index) => player.id ?? index + 1);
|
|
134
116
|
}
|
|
135
117
|
else {
|
|
136
|
-
|
|
137
|
-
return Array.from(Array(numberOfPlayers).keys()).map(
|
|
118
|
+
const numberOfPlayers = options.players ?? 2;
|
|
119
|
+
return Array.from(Array(numberOfPlayers).keys()).map(index => (index + 1));
|
|
138
120
|
}
|
|
139
121
|
}
|
|
140
122
|
//# sourceMappingURL=MaterialGameSetup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":"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"}
|