@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.
Files changed (249) hide show
  1. package/dist/Action.js +1 -2
  2. package/dist/Bot.js +15 -37
  3. package/dist/Bot.js.map +1 -1
  4. package/dist/Competitive.js +3 -8
  5. package/dist/Competitive.js.map +1 -1
  6. package/dist/Eliminations.js +2 -5
  7. package/dist/Eliminations.js.map +1 -1
  8. package/dist/GameSetup.js +1 -2
  9. package/dist/HiddenInformation.js +2 -5
  10. package/dist/HiddenInformation.js.map +1 -1
  11. package/dist/LocalMovePreview.js +1 -4
  12. package/dist/LocalMovePreview.js.map +1 -1
  13. package/dist/RandomMove.js +1 -2
  14. package/dist/Rules.js +49 -56
  15. package/dist/Rules.js.map +1 -1
  16. package/dist/SecretInformation.js +2 -5
  17. package/dist/SecretInformation.js.map +1 -1
  18. package/dist/TimeLimit.js +1 -4
  19. package/dist/TimeLimit.js.map +1 -1
  20. package/dist/Undo.js +2 -5
  21. package/dist/Undo.js.map +1 -1
  22. package/dist/UnpredictableMove.js +1 -5
  23. package/dist/UnpredictableMove.js.map +1 -1
  24. package/dist/index.js +16 -32
  25. package/dist/index.js.map +1 -1
  26. package/dist/material/HiddenMaterialRules.js +125 -180
  27. package/dist/material/HiddenMaterialRules.js.map +1 -1
  28. package/dist/material/MaterialGame.js +1 -2
  29. package/dist/material/MaterialGameSetup.js +52 -70
  30. package/dist/material/MaterialGameSetup.js.map +1 -1
  31. package/dist/material/MaterialRules.js +186 -250
  32. package/dist/material/MaterialRules.js.map +1 -1
  33. package/dist/material/SecretMaterialRules.js +9 -35
  34. package/dist/material/SecretMaterialRules.js.map +1 -1
  35. package/dist/material/index.js +11 -27
  36. package/dist/material/index.js.map +1 -1
  37. package/dist/material/items/Material.js +177 -262
  38. package/dist/material/items/Material.js.map +1 -1
  39. package/dist/material/items/MaterialDeck.js +10 -36
  40. package/dist/material/items/MaterialDeck.js.map +1 -1
  41. package/dist/material/items/MaterialItem.js +1 -2
  42. package/dist/material/items/MaterialMoney.js +89 -141
  43. package/dist/material/items/MaterialMoney.js.map +1 -1
  44. package/dist/material/items/MaterialMutator.js +108 -145
  45. package/dist/material/items/MaterialMutator.js.map +1 -1
  46. package/dist/material/items/index.js +5 -21
  47. package/dist/material/items/index.js.map +1 -1
  48. package/dist/material/location/Location.js +1 -14
  49. package/dist/material/location/Location.js.map +1 -1
  50. package/dist/material/location/LocationBuilder.js +26 -41
  51. package/dist/material/location/LocationBuilder.js.map +1 -1
  52. package/dist/material/location/index.js +3 -19
  53. package/dist/material/location/index.js.map +1 -1
  54. package/dist/material/location/strategy/FillGapStrategy.js +9 -16
  55. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  56. package/dist/material/location/strategy/LocationStrategy.js +1 -2
  57. package/dist/material/location/strategy/PositiveSequenceStrategy.js +26 -35
  58. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  59. package/dist/material/location/strategy/StackingStrategy.js +15 -22
  60. package/dist/material/location/strategy/StackingStrategy.js.map +1 -1
  61. package/dist/material/location/strategy/index.js +5 -23
  62. package/dist/material/location/strategy/index.js.map +1 -1
  63. package/dist/material/memory/GameMemory.js +10 -14
  64. package/dist/material/memory/GameMemory.js.map +1 -1
  65. package/dist/material/memory/PlayerMemory.js +13 -18
  66. package/dist/material/memory/PlayerMemory.js.map +1 -1
  67. package/dist/material/memory/index.js +2 -18
  68. package/dist/material/memory/index.js.map +1 -1
  69. package/dist/material/moves/CustomMove.js +4 -9
  70. package/dist/material/moves/CustomMove.js.map +1 -1
  71. package/dist/material/moves/MaterialMove.js +1 -2
  72. package/dist/material/moves/MaterialMoveBuilder.js +16 -32
  73. package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
  74. package/dist/material/moves/MoveKind.js +2 -5
  75. package/dist/material/moves/MoveKind.js.map +1 -1
  76. package/dist/material/moves/index.js +7 -23
  77. package/dist/material/moves/index.js.map +1 -1
  78. package/dist/material/moves/items/CreateItem.js +6 -12
  79. package/dist/material/moves/items/CreateItem.js.map +1 -1
  80. package/dist/material/moves/items/CreateItemsAtOnce.js +6 -12
  81. package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
  82. package/dist/material/moves/items/DeleteItem.js +6 -12
  83. package/dist/material/moves/items/DeleteItem.js.map +1 -1
  84. package/dist/material/moves/items/DeleteItemsAtOnce.js +6 -12
  85. package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
  86. package/dist/material/moves/items/ItemMove.js +1 -2
  87. package/dist/material/moves/items/ItemMoveType.js +2 -5
  88. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  89. package/dist/material/moves/items/MoveItem.js +6 -12
  90. package/dist/material/moves/items/MoveItem.js.map +1 -1
  91. package/dist/material/moves/items/MoveItemsAtOnce.js +6 -12
  92. package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
  93. package/dist/material/moves/items/RollItem.js +6 -12
  94. package/dist/material/moves/items/RollItem.js.map +1 -1
  95. package/dist/material/moves/items/SelectItem.js +6 -12
  96. package/dist/material/moves/items/SelectItem.js.map +1 -1
  97. package/dist/material/moves/items/Shuffle.js +7 -14
  98. package/dist/material/moves/items/Shuffle.js.map +1 -1
  99. package/dist/material/moves/items/index.js +11 -27
  100. package/dist/material/moves/items/index.js.map +1 -1
  101. package/dist/material/moves/local/CloseTutorialPopup.js +4 -7
  102. package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
  103. package/dist/material/moves/local/DisplayHelp.js +2 -5
  104. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  105. package/dist/material/moves/local/DropItem.js +1 -2
  106. package/dist/material/moves/local/LocalMove.js +2 -5
  107. package/dist/material/moves/local/LocalMove.js.map +1 -1
  108. package/dist/material/moves/local/SetTutorialStep.js +4 -7
  109. package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
  110. package/dist/material/moves/local/index.js +5 -21
  111. package/dist/material/moves/local/index.js.map +1 -1
  112. package/dist/material/moves/rules/EndGame.js +4 -7
  113. package/dist/material/moves/rules/EndGame.js.map +1 -1
  114. package/dist/material/moves/rules/EndPlayerTurn.js +4 -7
  115. package/dist/material/moves/rules/EndPlayerTurn.js.map +1 -1
  116. package/dist/material/moves/rules/RuleMove.js +3 -7
  117. package/dist/material/moves/rules/RuleMove.js.map +1 -1
  118. package/dist/material/moves/rules/StartPlayerTurn.js +4 -7
  119. package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
  120. package/dist/material/moves/rules/StartRule.js +4 -7
  121. package/dist/material/moves/rules/StartRule.js.map +1 -1
  122. package/dist/material/moves/rules/StartSimultaneousRule.js +4 -7
  123. package/dist/material/moves/rules/StartSimultaneousRule.js.map +1 -1
  124. package/dist/material/moves/rules/index.js +6 -22
  125. package/dist/material/moves/rules/index.js.map +1 -1
  126. package/dist/material/rules/MaterialRulesPart.js +38 -63
  127. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  128. package/dist/material/rules/PlayerTurnRule.js +20 -52
  129. package/dist/material/rules/PlayerTurnRule.js.map +1 -1
  130. package/dist/material/rules/RuleStep.js +1 -2
  131. package/dist/material/rules/SimultaneousRule.js +19 -51
  132. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  133. package/dist/material/rules/index.js +4 -20
  134. package/dist/material/rules/index.js.map +1 -1
  135. package/dist/material/tutorial/TutorialState.js +1 -2
  136. package/dist/material/tutorial/index.js +1 -17
  137. package/dist/material/tutorial/index.js.map +1 -1
  138. package/dist/options/EnumArrayOption.js +3 -6
  139. package/dist/options/EnumArrayOption.js.map +1 -1
  140. package/dist/options/EnumOption.js +1 -4
  141. package/dist/options/EnumOption.js.map +1 -1
  142. package/dist/options/Option.js +1 -2
  143. package/dist/options/OptionSpecOf.js +1 -2
  144. package/dist/options/OptionsSpec.js +1 -2
  145. package/dist/options/OptionsValidationError.js +6 -28
  146. package/dist/options/OptionsValidationError.js.map +1 -1
  147. package/dist/options/PlayerEnumOption.js +19 -29
  148. package/dist/options/PlayerEnumOption.js.map +1 -1
  149. package/dist/options/PlayersOptionsSpec.js +1 -2
  150. package/dist/options/WithIdOption.js +1 -2
  151. package/dist/options/WithPlayerOptionsSpec.js +1 -4
  152. package/dist/options/WithPlayerOptionsSpec.js.map +1 -1
  153. package/dist/options/WithPlayersOptions.js +1 -2
  154. package/dist/options/index.js +12 -28
  155. package/dist/options/index.js.map +1 -1
  156. package/dist/options/isWithPlayerIdOptions.js +3 -6
  157. package/dist/options/isWithPlayerIdOptions.js.map +1 -1
  158. package/dist/utils/action-view.util.js +18 -25
  159. package/dist/utils/action-view.util.js.map +1 -1
  160. package/dist/utils/action.util.js +11 -16
  161. package/dist/utils/action.util.js.map +1 -1
  162. package/dist/utils/adjacent-groups.util.js +33 -41
  163. package/dist/utils/adjacent-groups.util.js.map +1 -1
  164. package/dist/utils/automatic-moves.util.js +10 -15
  165. package/dist/utils/automatic-moves.util.js.map +1 -1
  166. package/dist/utils/enum.util.js +7 -13
  167. package/dist/utils/enum.util.js.map +1 -1
  168. package/dist/utils/game-view.util.js +5 -8
  169. package/dist/utils/game-view.util.js.map +1 -1
  170. package/dist/utils/grid.hex.util.js +36 -88
  171. package/dist/utils/grid.hex.util.js.map +1 -1
  172. package/dist/utils/grid.squares.util.js +8 -19
  173. package/dist/utils/grid.squares.util.js.map +1 -1
  174. package/dist/utils/grid.util.js +1 -5
  175. package/dist/utils/grid.util.js.map +1 -1
  176. package/dist/utils/index.js +16 -32
  177. package/dist/utils/index.js.map +1 -1
  178. package/dist/utils/listing.util.js +8 -13
  179. package/dist/utils/listing.util.js.map +1 -1
  180. package/dist/utils/loops.util.js +3 -6
  181. package/dist/utils/loops.util.js.map +1 -1
  182. package/dist/utils/money.util.js +54 -73
  183. package/dist/utils/money.util.js.map +1 -1
  184. package/dist/utils/neighbors.util.js +6 -10
  185. package/dist/utils/neighbors.util.js.map +1 -1
  186. package/dist/utils/polyhex.util.js +36 -56
  187. package/dist/utils/polyhex.util.js.map +1 -1
  188. package/dist/utils/random.util.js +2 -5
  189. package/dist/utils/random.util.js.map +1 -1
  190. package/dist/utils/rank.util.js +9 -13
  191. package/dist/utils/rank.util.js.map +1 -1
  192. package/package.json +43 -37
  193. package/dist/ApplyAutomaticMoves.d.ts +0 -2
  194. package/dist/ApplyAutomaticMoves.js +0 -25
  195. package/dist/ApplyAutomaticMoves.js.map +0 -1
  196. package/dist/DefaultGameSetup.d.ts +0 -7
  197. package/dist/DefaultGameSetup.js +0 -15
  198. package/dist/DefaultGameSetup.js.map +0 -1
  199. package/dist/Dummy.d.ts +0 -7
  200. package/dist/Dummy.js +0 -27
  201. package/dist/Dummy.js.map +0 -1
  202. package/dist/GameSetupCreator.d.ts +0 -4
  203. package/dist/GameSetupCreator.js +0 -3
  204. package/dist/GameSetupCreator.js.map +0 -1
  205. package/dist/IncompleteInformation.d.ts +0 -14
  206. package/dist/IncompleteInformation.js +0 -38
  207. package/dist/IncompleteInformation.js.map +0 -1
  208. package/dist/LoopWithFuse.d.ts +0 -4
  209. package/dist/LoopWithFuse.js +0 -15
  210. package/dist/LoopWithFuse.js.map +0 -1
  211. package/dist/Robot.d.ts +0 -1
  212. package/dist/Robot.js +0 -3
  213. package/dist/Robot.js.map +0 -1
  214. package/dist/RulesCreator.d.ts +0 -7
  215. package/dist/RulesCreator.js +0 -3
  216. package/dist/RulesCreator.js.map +0 -1
  217. package/dist/material/location/strategy/StakingStrategy.d.ts +0 -12
  218. package/dist/material/location/strategy/StakingStrategy.js +0 -32
  219. package/dist/material/location/strategy/StakingStrategy.js.map +0 -1
  220. package/dist/material/moves/items/ItemMovesBuilder.d.ts +0 -8
  221. package/dist/material/moves/items/ItemMovesBuilder.js +0 -34
  222. package/dist/material/moves/items/ItemMovesBuilder.js.map +0 -1
  223. package/dist/material/rules/MaterialMoveBuilder.d.ts +0 -9
  224. package/dist/material/rules/MaterialMoveBuilder.js +0 -28
  225. package/dist/material/rules/MaterialMoveBuilder.js.map +0 -1
  226. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +0 -12
  227. package/dist/material/rules/MaterialRulesMovesBuilder.js +0 -36
  228. package/dist/material/rules/MaterialRulesMovesBuilder.js.map +0 -1
  229. package/dist/setup/DefaultGameSetup.d.ts +0 -7
  230. package/dist/setup/DefaultGameSetup.js +0 -15
  231. package/dist/setup/DefaultGameSetup.js.map +0 -1
  232. package/dist/setup/GameSetup.d.ts +0 -3
  233. package/dist/setup/GameSetup.js +0 -3
  234. package/dist/setup/GameSetup.js.map +0 -1
  235. package/dist/setup/GameSetupCreator.d.ts +0 -4
  236. package/dist/setup/GameSetupCreator.js +0 -3
  237. package/dist/setup/GameSetupCreator.js.map +0 -1
  238. package/dist/setup/index.d.ts +0 -2
  239. package/dist/setup/index.js +0 -19
  240. package/dist/setup/index.js.map +0 -1
  241. package/dist/utils/EnumUtils.d.ts +0 -1
  242. package/dist/utils/EnumUtils.js +0 -8
  243. package/dist/utils/EnumUtils.js.map +0 -1
  244. package/dist/utils/coordinates.util.d.ts +0 -5
  245. package/dist/utils/coordinates.util.js +0 -16
  246. package/dist/utils/coordinates.util.js.map +0 -1
  247. package/dist/utils/isDeadEndMove.util.d.ts +0 -2
  248. package/dist/utils/isDeadEndMove.util.js +0 -19
  249. package/dist/utils/isDeadEndMove.util.js.map +0 -1
@@ -1,4 +0,0 @@
1
- import { GameSetup } from './GameSetup';
2
- export interface GameSetupCreator<Game = any, Options = any> {
3
- new (): GameSetup<Game, Options>;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GameSetupCreator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GameSetupCreator.js","sourceRoot":"","sources":["../../src/setup/GameSetupCreator.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './GameSetup';
2
- export * from './GameSetupCreator';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./GameSetup"), exports);
18
- __exportStar(require("./GameSetupCreator"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,qDAAkC"}
@@ -1 +0,0 @@
1
- export declare function isEnumValue<T>(value: string | T): value is T;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEnumValue = void 0;
4
- function isEnumValue(value) {
5
- return typeof value !== 'string';
6
- }
7
- exports.isEnumValue = isEnumValue;
8
- //# sourceMappingURL=EnumUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnumUtils.js","sourceRoot":"","sources":["../../src/utils/EnumUtils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAI,KAAiB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC;AAFD,kCAEC"}
@@ -1,5 +0,0 @@
1
- import { XYCoordinates } from './grid.util';
2
- export type Coordinates = XYCoordinates & {
3
- z: number;
4
- };
5
- export declare function operation3d(operation: (...values: (number | undefined)[]) => number | undefined, ...coordinates: Partial<Coordinates>[]): Partial<Coordinates>;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.operation3d = void 0;
4
- function operation3d(operation) {
5
- var coordinates = [];
6
- for (var _i = 1; _i < arguments.length; _i++) {
7
- coordinates[_i - 1] = arguments[_i];
8
- }
9
- return {
10
- x: operation.apply(void 0, coordinates.map(function (c) { return c.x; })),
11
- y: operation.apply(void 0, coordinates.map(function (c) { return c.y; })),
12
- z: operation.apply(void 0, coordinates.map(function (c) { return c.z; }))
13
- };
14
- }
15
- exports.operation3d = operation3d;
16
- //# sourceMappingURL=coordinates.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinates.util.js","sourceRoot":"","sources":["../../src/utils/coordinates.util.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,WAAW,CAAC,SAAoE;IAAE,qBAAsC;SAAtC,UAAsC,EAAtC,qBAAsC,EAAtC,IAAsC;QAAtC,oCAAsC;;IACtI,OAAO;QACL,CAAC,EAAE,SAAS,eAAI,WAAW,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC;QAC1C,CAAC,EAAE,SAAS,eAAI,WAAW,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC;QAC1C,CAAC,EAAE,SAAS,eAAI,WAAW,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC;KAC3C,CAAA;AACH,CAAC;AAND,kCAMC"}
@@ -1,2 +0,0 @@
1
- import { RulesCreator } from '../RulesCreator';
2
- export declare function isDeadEndMove<G, M, P>(move: M, game: G, Rules: RulesCreator<G, M, P>, predicate: (game: G) => boolean, maxDepth?: number): boolean;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDeadEndMove = void 0;
4
- var Action_1 = require("../Action");
5
- function isDeadEndMove(move, game, Rules, predicate, maxDepth) {
6
- if (maxDepth === void 0) { maxDepth = 5; }
7
- if (maxDepth === 0)
8
- return false;
9
- var rules = new Rules(JSON.parse(JSON.stringify(game)));
10
- (0, Action_1.playMove)(rules, move);
11
- if (predicate(rules.game))
12
- return false;
13
- var activePlayer = rules.getActivePlayer();
14
- if (!activePlayer)
15
- return true;
16
- return rules.getLegalMoves(activePlayer).every(function (move) { return isDeadEndMove(move, rules.game, Rules, predicate, maxDepth - 1); });
17
- }
18
- exports.isDeadEndMove = isDeadEndMove;
19
- //# sourceMappingURL=isDeadEndMove.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isDeadEndMove.util.js","sourceRoot":"","sources":["../../src/utils/isDeadEndMove.util.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAGpC,SAAgB,aAAa,CAAU,IAAO,EAAE,IAAO,EAAE,KAA4B,EAAE,SAA+B,EAAE,QAAY;IAAZ,yBAAA,EAAA,YAAY;IAClI,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAChC,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzD,IAAA,iBAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACrB,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,IAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IAC5C,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,UAAA,IAAI,IAAI,OAAA,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,EAA/D,CAA+D,CAAC,CAAA;AACzH,CAAC;AARD,sCAQC"}