@nayan-ui/games 1.18.0 → 1.20.0

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 (1808) hide show
  1. package/README.md +53 -191
  2. package/lib/module/assets/fonts/Inter-SemiBold.ttf +0 -0
  3. package/lib/module/assets/models/explorer/explorer.glb +0 -0
  4. package/lib/module/assets/models/explorer/params.json +51 -0
  5. package/lib/module/assets/models/explorer/source.json +222 -0
  6. package/lib/module/assets/models/play-with-tua/play-with-tua.glb +0 -0
  7. package/lib/module/assets/models/play-with-tua/sources.json +141 -0
  8. package/lib/module/assets/sfx/balloon_pop.wav +0 -0
  9. package/lib/module/assets/sfx/blocked.wav +0 -0
  10. package/lib/module/assets/sfx/boing.wav +0 -0
  11. package/lib/module/assets/sfx/bonus.wav +0 -0
  12. package/lib/module/assets/sfx/boom.wav +0 -0
  13. package/lib/module/assets/sfx/bump.wav +0 -0
  14. package/lib/module/assets/sfx/cannon.wav +0 -0
  15. package/lib/module/assets/sfx/capture.wav +0 -0
  16. package/lib/module/assets/sfx/card_flip.wav +0 -0
  17. package/lib/module/assets/sfx/card_place.wav +0 -0
  18. package/lib/module/assets/sfx/catch.wav +0 -0
  19. package/lib/module/assets/sfx/chime.wav +0 -0
  20. package/lib/module/assets/sfx/chomp.wav +0 -0
  21. package/lib/module/assets/sfx/chomp_alt.wav +0 -0
  22. package/lib/module/assets/sfx/clack.wav +0 -0
  23. package/lib/module/assets/sfx/clang.wav +0 -0
  24. package/lib/module/assets/sfx/clash.wav +0 -0
  25. package/lib/module/assets/sfx/click.wav +0 -0
  26. package/lib/module/assets/sfx/coin.wav +0 -0
  27. package/lib/module/assets/sfx/combo.wav +0 -0
  28. package/lib/module/assets/sfx/crash.wav +0 -0
  29. package/lib/module/assets/sfx/crunch.wav +0 -0
  30. package/lib/module/assets/sfx/dance.wav +0 -0
  31. package/lib/module/assets/sfx/deselect.wav +0 -0
  32. package/lib/module/assets/sfx/dice_roll.wav +0 -0
  33. package/lib/module/assets/sfx/die.wav +0 -0
  34. package/lib/module/assets/sfx/draw.wav +0 -0
  35. package/lib/module/assets/sfx/drop.wav +0 -0
  36. package/lib/module/assets/sfx/eat.wav +0 -0
  37. package/lib/module/assets/sfx/engine.wav +0 -0
  38. package/lib/module/assets/sfx/error.wav +0 -0
  39. package/lib/module/assets/sfx/flag.wav +0 -0
  40. package/lib/module/assets/sfx/flap.wav +0 -0
  41. package/lib/module/assets/sfx/flip_disc.wav +0 -0
  42. package/lib/module/assets/sfx/footstep_run.wav +0 -0
  43. package/lib/module/assets/sfx/footstep_walk.wav +0 -0
  44. package/lib/module/assets/sfx/game_over.wav +0 -0
  45. package/lib/module/assets/sfx/gate.wav +0 -0
  46. package/lib/module/assets/sfx/hit.wav +0 -0
  47. package/lib/module/assets/sfx/hop.wav +0 -0
  48. package/lib/module/assets/sfx/hurt.wav +0 -0
  49. package/lib/module/assets/sfx/invalid.wav +0 -0
  50. package/lib/module/assets/sfx/jump.wav +0 -0
  51. package/lib/module/assets/sfx/ladder.wav +0 -0
  52. package/lib/module/assets/sfx/land.wav +0 -0
  53. package/lib/module/assets/sfx/laugh.wav +0 -0
  54. package/lib/module/assets/sfx/lose.wav +0 -0
  55. package/lib/module/assets/sfx/merge.wav +0 -0
  56. package/lib/module/assets/sfx/miss.wav +0 -0
  57. package/lib/module/assets/sfx/nitro.wav +0 -0
  58. package/lib/module/assets/sfx/pew.wav +0 -0
  59. package/lib/module/assets/sfx/place.wav +0 -0
  60. package/lib/module/assets/sfx/pling.wav +0 -0
  61. package/lib/module/assets/sfx/point.wav +0 -0
  62. package/lib/module/assets/sfx/pop.wav +0 -0
  63. package/lib/module/assets/sfx/pop_soft.wav +0 -0
  64. package/lib/module/assets/sfx/power_up.wav +0 -0
  65. package/lib/module/assets/sfx/reveal.wav +0 -0
  66. package/lib/module/assets/sfx/robot.wav +0 -0
  67. package/lib/module/assets/sfx/rotate.wav +0 -0
  68. package/lib/module/assets/sfx/run_steps.wav +0 -0
  69. package/lib/module/assets/sfx/select.wav +0 -0
  70. package/lib/module/assets/sfx/shuffle.wav +0 -0
  71. package/lib/module/assets/sfx/six.wav +0 -0
  72. package/lib/module/assets/sfx/slice.wav +0 -0
  73. package/lib/module/assets/sfx/slide.wav +0 -0
  74. package/lib/module/assets/sfx/snake.wav +0 -0
  75. package/lib/module/assets/sfx/snap.wav +0 -0
  76. package/lib/module/assets/sfx/splash.wav +0 -0
  77. package/lib/module/assets/sfx/star.wav +0 -0
  78. package/lib/module/assets/sfx/start.wav +0 -0
  79. package/lib/module/assets/sfx/swoosh.wav +0 -0
  80. package/lib/module/assets/sfx/tap.wav +0 -0
  81. package/lib/module/assets/sfx/thud.wav +0 -0
  82. package/lib/module/assets/sfx/thunk.wav +0 -0
  83. package/lib/module/assets/sfx/tick.wav +0 -0
  84. package/lib/module/assets/sfx/time_up.wav +0 -0
  85. package/lib/module/assets/sfx/tock.wav +0 -0
  86. package/lib/module/assets/sfx/walk_steps.wav +0 -0
  87. package/lib/module/assets/sfx/warning.wav +0 -0
  88. package/lib/module/assets/sfx/whack.wav +0 -0
  89. package/lib/module/assets/sfx/whoosh.wav +0 -0
  90. package/lib/module/assets/sfx/win.wav +0 -0
  91. package/lib/module/assets/sfx/zap.wav +0 -0
  92. package/lib/module/assets/textures/ad_bolt.png +0 -0
  93. package/lib/module/assets/textures/ad_bubbles.png +0 -0
  94. package/lib/module/assets/textures/ad_chevrons.png +0 -0
  95. package/lib/module/assets/textures/asphalt.png +0 -0
  96. package/lib/module/assets/textures/bark.jpg +0 -0
  97. package/lib/module/assets/textures/explorer-atlas.png +0 -0
  98. package/lib/module/assets/textures/facade.png +0 -0
  99. package/lib/module/assets/textures/grass.png +0 -0
  100. package/lib/module/assets/textures/leaves.png +0 -0
  101. package/lib/module/assets/textures/limestone.jpg +0 -0
  102. package/lib/module/assets/textures/meadow.jpg +0 -0
  103. package/lib/module/assets/textures/nature-sources.json +87 -0
  104. package/lib/module/assets/textures/pine.png +0 -0
  105. package/lib/module/assets/textures/river.jpg +0 -0
  106. package/lib/module/assets/textures/soft_glow.png +0 -0
  107. package/lib/module/games/arrows/Arrows.js +1 -1
  108. package/lib/module/games/arrows/ArrowsConstants.js +1 -1
  109. package/lib/module/games/arrows/ArrowsGame.js +1 -0
  110. package/lib/module/games/arrows/ArrowsScene.js +1 -0
  111. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
  112. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -1
  113. package/lib/module/games/balloon-blaster/BalloonBlasterGame.js +1 -0
  114. package/lib/module/games/balloon-blaster/BalloonBlasterPhysics.js +1 -0
  115. package/lib/module/games/balloon-blaster/BalloonBlasterScene.js +1 -0
  116. package/lib/module/games/bike-racing/BikeMeshes.js +1 -0
  117. package/lib/module/games/bike-racing/BikeRacing.js +1 -1
  118. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
  119. package/lib/module/games/bike-racing/BikeRacingGame.js +1 -0
  120. package/lib/module/games/bike-racing/BikeRacingScene.js +1 -0
  121. package/lib/module/games/block-blast/BlockBlast.js +1 -1
  122. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
  123. package/lib/module/games/block-blast/BlockBlastGame.js +1 -0
  124. package/lib/module/games/block-blast/BlockBlastScene.js +1 -0
  125. package/lib/module/games/block-breaker/BlockBreaker.js +1 -1
  126. package/lib/module/games/block-breaker/BlockBreakerConstants.js +1 -1
  127. package/lib/module/games/block-breaker/BlockBreakerGame.js +1 -0
  128. package/lib/module/games/block-breaker/BlockBreakerScene.js +1 -0
  129. package/lib/module/games/bluk/Bluk.js +1 -1
  130. package/lib/module/games/bluk/BlukConstants.js +1 -1
  131. package/lib/module/games/bluk/BlukGame.js +1 -0
  132. package/lib/module/games/bluk/BlukRules.js +1 -0
  133. package/lib/module/games/bluk/BlukScene.js +1 -0
  134. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
  135. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
  136. package/lib/module/games/bubble-shooter/BubbleShooterGame.js +1 -0
  137. package/lib/module/games/bubble-shooter/BubbleShooterScene.js +1 -0
  138. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  139. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
  140. package/lib/module/games/candy-crush/CandyCrushGame.js +1 -0
  141. package/lib/module/games/candy-crush/CandyCrushScene.js +1 -0
  142. package/lib/module/games/car-racing/CarMeshes.js +1 -0
  143. package/lib/module/games/car-racing/CarRacing.js +1 -1
  144. package/lib/module/games/car-racing/CarRacingConstants.js +1 -1
  145. package/lib/module/games/car-racing/CarRacingFacade.js +1 -0
  146. package/lib/module/games/car-racing/CarRacingGame.js +1 -0
  147. package/lib/module/games/car-racing/CarRacingScene.js +1 -0
  148. package/lib/module/games/car-racing/CarRacingScenery.js +1 -0
  149. package/lib/module/games/chameleon-run/ChameleonRun.js +1 -1
  150. package/lib/module/games/chameleon-run/ChameleonRunBackdrop.js +1 -0
  151. package/lib/module/games/chameleon-run/ChameleonRunConstants.js +1 -1
  152. package/lib/module/games/chameleon-run/ChameleonRunGame.js +1 -0
  153. package/lib/module/games/chameleon-run/ChameleonRunMeshes.js +1 -0
  154. package/lib/module/games/chameleon-run/ChameleonRunRules.js +1 -0
  155. package/lib/module/games/chameleon-run/ChameleonRunScene.js +1 -0
  156. package/lib/module/games/checkers/Checkers.js +1 -1
  157. package/lib/module/games/checkers/CheckersAI.js +1 -0
  158. package/lib/module/games/checkers/CheckersConstants.js +1 -1
  159. package/lib/module/games/checkers/CheckersGame.js +1 -0
  160. package/lib/module/games/checkers/CheckersRules.js +1 -0
  161. package/lib/module/games/checkers/CheckersScene.js +1 -0
  162. package/lib/module/games/color-switch/ColorSwitch.js +1 -1
  163. package/lib/module/games/color-switch/ColorSwitchConstants.js +1 -1
  164. package/lib/module/games/color-switch/ColorSwitchGame.js +1 -0
  165. package/lib/module/games/color-switch/ColorSwitchScene.js +1 -0
  166. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  167. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
  168. package/lib/module/games/colors-sort/ColorsSortGame.js +1 -0
  169. package/lib/module/games/colors-sort/ColorsSortScene.js +1 -0
  170. package/lib/module/games/connect-em-all/ConnectEmAll.js +1 -1
  171. package/lib/module/games/connect-em-all/ConnectEmAllConstants.js +1 -1
  172. package/lib/module/games/connect-em-all/ConnectEmAllGame.js +1 -0
  173. package/lib/module/games/connect-em-all/ConnectEmAllScene.js +1 -0
  174. package/lib/module/games/crossy-road/CrossyRoad.js +1 -1
  175. package/lib/module/games/crossy-road/CrossyRoadCamera.js +1 -0
  176. package/lib/module/games/crossy-road/CrossyRoadConstants.js +1 -1
  177. package/lib/module/games/crossy-road/CrossyRoadGame.js +1 -0
  178. package/lib/module/games/crossy-road/CrossyRoadMeshes.js +1 -0
  179. package/lib/module/games/crossy-road/CrossyRoadPerson.js +1 -0
  180. package/lib/module/games/crossy-road/CrossyRoadRules.js +1 -0
  181. package/lib/module/games/crossy-road/CrossyRoadScene.js +1 -0
  182. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  183. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
  184. package/lib/module/games/dino-jump/DinoJumpGame.js +1 -0
  185. package/lib/module/games/dino-jump/DinoJumpScene.js +1 -0
  186. package/lib/module/games/dots-and-boxes/DotsAndBoxes.js +1 -1
  187. package/lib/module/games/dots-and-boxes/DotsAndBoxesConstants.js +1 -1
  188. package/lib/module/games/dots-and-boxes/DotsAndBoxesGame.js +1 -0
  189. package/lib/module/games/dots-and-boxes/DotsAndBoxesScene.js +1 -0
  190. package/lib/module/games/falling-sticks/FallingSticks.js +1 -1
  191. package/lib/module/games/falling-sticks/FallingSticksConstants.js +1 -1
  192. package/lib/module/games/falling-sticks/FallingSticksGame.js +1 -0
  193. package/lib/module/games/falling-sticks/FallingSticksRules.js +1 -0
  194. package/lib/module/games/falling-sticks/FallingSticksScene.js +1 -0
  195. package/lib/module/games/find-different-number/FindDifferentNumber.js +1 -1
  196. package/lib/module/games/find-different-number/FindDifferentNumberConstants.js +1 -1
  197. package/lib/module/games/find-different-number/FindDifferentNumberGame.js +1 -0
  198. package/lib/module/games/find-different-number/FindDifferentNumberRules.js +1 -0
  199. package/lib/module/games/find-different-number/FindDifferentNumberScene.js +1 -0
  200. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  201. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  202. package/lib/module/games/flappy-bird/FlappyBirdGame.js +1 -0
  203. package/lib/module/games/flappy-bird/FlappyBirdScene.js +1 -0
  204. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  205. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
  206. package/lib/module/games/fruit-merger/FruitMergerGame.js +1 -0
  207. package/lib/module/games/fruit-merger/FruitMergerRules.js +1 -0
  208. package/lib/module/games/fruit-merger/FruitMergerScene.js +1 -0
  209. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  210. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
  211. package/lib/module/games/fruit-ninja/FruitNinjaGame.js +1 -0
  212. package/lib/module/games/fruit-ninja/FruitNinjaScene.js +1 -0
  213. package/lib/module/games/fruit-ninja/FruitNinjaWorld.js +1 -0
  214. package/lib/module/games/game-2048/Game2048.js +1 -1
  215. package/lib/module/games/game-2048/Game2048Constants.js +1 -1
  216. package/lib/module/games/game-2048/Game2048Game.js +1 -0
  217. package/lib/module/games/game-2048/Game2048Rules.js +1 -0
  218. package/lib/module/games/game-2048/Game2048Scene.js +1 -0
  219. package/lib/module/games/knife-hit/KnifeHit.js +1 -1
  220. package/lib/module/games/knife-hit/KnifeHitConstants.js +1 -1
  221. package/lib/module/games/knife-hit/KnifeHitGame.js +1 -0
  222. package/lib/module/games/knife-hit/KnifeHitScene.js +1 -0
  223. package/lib/module/games/ludo-king/LudoKing.js +1 -1
  224. package/lib/module/games/ludo-king/LudoKingConstants.js +1 -1
  225. package/lib/module/games/ludo-king/LudoKingGame.js +1 -0
  226. package/lib/module/games/ludo-king/LudoKingRules.js +1 -0
  227. package/lib/module/games/ludo-king/LudoKingScene.js +1 -0
  228. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  229. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
  230. package/lib/module/games/maze-runner/MazeRunnerGame.js +1 -0
  231. package/lib/module/games/maze-runner/MazeRunnerRules.js +1 -0
  232. package/lib/module/games/maze-runner/MazeRunnerScene.js +1 -0
  233. package/lib/module/games/memory-match/MemoryMatch.js +1 -1
  234. package/lib/module/games/memory-match/MemoryMatchConstants.js +1 -1
  235. package/lib/module/games/memory-match/MemoryMatchGame.js +1 -0
  236. package/lib/module/games/memory-match/MemoryMatchRules.js +1 -0
  237. package/lib/module/games/memory-match/MemoryMatchScene.js +1 -0
  238. package/lib/module/games/mine-sweeper/MineSweeper.js +1 -1
  239. package/lib/module/games/mine-sweeper/MineSweeperConstants.js +1 -1
  240. package/lib/module/games/mine-sweeper/MineSweeperGame.js +1 -0
  241. package/lib/module/games/mine-sweeper/MineSweeperRules.js +1 -0
  242. package/lib/module/games/mine-sweeper/MineSweeperScene.js +1 -0
  243. package/lib/module/games/mob-control/MobControl.js +1 -1
  244. package/lib/module/games/mob-control/MobControlConstants.js +1 -1
  245. package/lib/module/games/mob-control/MobControlGame.js +1 -0
  246. package/lib/module/games/mob-control/MobControlMeshes.js +1 -0
  247. package/lib/module/games/mob-control/MobControlRenderer.js +1 -0
  248. package/lib/module/games/mob-control/MobControlRules.js +1 -0
  249. package/lib/module/games/mob-control/MobControlScene.js +1 -0
  250. package/lib/module/games/number-search/NumberSearch.js +1 -1
  251. package/lib/module/games/number-search/NumberSearchNumbers.js +1 -0
  252. package/lib/module/games/nuts-and-bolts/NutsAndBolts.js +1 -1
  253. package/lib/module/games/nuts-and-bolts/NutsAndBoltsConstants.js +1 -1
  254. package/lib/module/games/nuts-and-bolts/NutsAndBoltsGame.js +1 -0
  255. package/lib/module/games/nuts-and-bolts/NutsAndBoltsRules.js +1 -0
  256. package/lib/module/games/nuts-and-bolts/NutsAndBoltsScene.js +1 -0
  257. package/lib/module/games/pac-man/PacMan.js +1 -1
  258. package/lib/module/games/pac-man/PacManConstants.js +1 -1
  259. package/lib/module/games/pac-man/PacManGame.js +1 -0
  260. package/lib/module/games/pac-man/PacManRules.js +1 -0
  261. package/lib/module/games/pac-man/PacManScene.js +1 -0
  262. package/lib/module/games/paper-io/PaperIo.js +1 -1
  263. package/lib/module/games/paper-io/PaperIoConstants.js +1 -1
  264. package/lib/module/games/paper-io/PaperIoGame.js +1 -0
  265. package/lib/module/games/paper-io/PaperIoMeshes.js +1 -0
  266. package/lib/module/games/paper-io/PaperIoRules.js +1 -0
  267. package/lib/module/games/paper-io/PaperIoScene.js +1 -0
  268. package/lib/module/games/penguin-run/PenguinMeshes.js +1 -0
  269. package/lib/module/games/penguin-run/PenguinModel.js +1 -0
  270. package/lib/module/games/penguin-run/PenguinRun.js +1 -0
  271. package/lib/module/games/penguin-run/PenguinRunConstants.js +1 -0
  272. package/lib/module/games/penguin-run/PenguinRunGame.js +1 -0
  273. package/lib/module/games/penguin-run/PenguinRunScene.js +1 -0
  274. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
  275. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
  276. package/lib/module/games/perfect-circle/PerfectCircleGame.js +1 -0
  277. package/lib/module/games/perfect-circle/PerfectCircleRules.js +1 -0
  278. package/lib/module/games/perfect-circle/PerfectCircleScene.js +1 -0
  279. package/lib/module/games/pipe-connect/PipeConnect.js +1 -1
  280. package/lib/module/games/pipe-connect/PipeConnectConstants.js +1 -1
  281. package/lib/module/games/pipe-connect/PipeConnectGame.js +1 -0
  282. package/lib/module/games/pipe-connect/PipeConnectRules.js +1 -0
  283. package/lib/module/games/pipe-connect/PipeConnectScene.js +1 -0
  284. package/lib/module/games/play-with-tua/PlayWithTua.js +1 -0
  285. package/lib/module/games/play-with-tua/PlayWithTuaConstants.js +1 -0
  286. package/lib/module/games/play-with-tua/PlayWithTuaGame.js +1 -0
  287. package/lib/module/games/play-with-tua/PlayWithTuaModel.js +1 -0
  288. package/lib/module/games/play-with-tua/PlayWithTuaScene.js +1 -0
  289. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  290. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
  291. package/lib/module/games/popit-fidget/PopitFidgetGame.js +1 -0
  292. package/lib/module/games/popit-fidget/PopitFidgetScene.js +1 -0
  293. package/lib/module/games/reversi/Reversi.js +1 -1
  294. package/lib/module/games/reversi/ReversiConstants.js +1 -1
  295. package/lib/module/games/reversi/ReversiGame.js +1 -0
  296. package/lib/module/games/reversi/ReversiRules.js +1 -0
  297. package/lib/module/games/reversi/ReversiScene.js +1 -0
  298. package/lib/module/games/search-grid/SearchGrid.js +1 -0
  299. package/lib/module/games/search-grid/SearchGridConstants.js +1 -0
  300. package/lib/module/games/search-grid/SearchGridGame.js +1 -0
  301. package/lib/module/games/search-grid/SearchGridScene.js +1 -0
  302. package/lib/module/games/shared/BackdropCard.js +1 -0
  303. package/lib/module/games/shared/EngineBackdrop.js +1 -0
  304. package/lib/module/games/shared/EngineBlasts.js +1 -0
  305. package/lib/module/games/shared/EngineBlocks.js +1 -0
  306. package/lib/module/games/shared/EngineControlText.js +1 -0
  307. package/lib/module/games/shared/EngineDice.js +1 -0
  308. package/lib/module/games/shared/EngineFootprint.js +1 -0
  309. package/lib/module/games/shared/EngineFruits.js +1 -0
  310. package/lib/module/games/shared/EngineGameLoader.js +1 -0
  311. package/lib/module/games/shared/EngineGameScreen.js +1 -0
  312. package/lib/module/games/shared/EngineGameWidth.js +1 -0
  313. package/lib/module/games/shared/EngineGameWidth.web.js +1 -0
  314. package/lib/module/games/shared/EngineGlyphs.js +1 -0
  315. package/lib/module/games/shared/EngineHud.js +1 -0
  316. package/lib/module/games/shared/EngineLoading.js +1 -0
  317. package/lib/module/games/shared/EngineMeadow.js +1 -0
  318. package/lib/module/games/shared/EngineMeshCache.js +1 -0
  319. package/lib/module/games/shared/EngineMeshes.js +1 -0
  320. package/lib/module/games/shared/EngineRacingChase.js +1 -0
  321. package/lib/module/games/shared/EngineRacingHandling.js +1 -0
  322. package/lib/module/games/shared/EngineReadyContext.js +1 -0
  323. package/lib/module/games/shared/EngineTilt.js +1 -0
  324. package/lib/module/games/shared/EngineTouchSurface.js +1 -0
  325. package/lib/module/games/shared/EngineUtils.js +1 -0
  326. package/lib/module/games/shared/GameActivity.js +1 -0
  327. package/lib/module/games/shared/GameLoading.js +1 -0
  328. package/lib/module/games/shared/GameLoadingTransition.js +1 -0
  329. package/lib/module/games/shared/ProceduralCacheVersion.js +1 -0
  330. package/lib/module/games/shared/useEngineGame.js +1 -0
  331. package/lib/module/games/shared/useGameResource.js +1 -0
  332. package/lib/module/games/shared/useLiveState.js +1 -0
  333. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  334. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -1
  335. package/lib/module/games/sliding-numbers/SlidingNumbersGame.js +1 -0
  336. package/lib/module/games/sliding-numbers/SlidingNumbersRules.js +1 -0
  337. package/lib/module/games/sliding-numbers/SlidingNumbersScene.js +1 -0
  338. package/lib/module/games/snake-3d/Snake3D.js +1 -1
  339. package/lib/module/games/snake-3d/Snake3DConstants.js +1 -1
  340. package/lib/module/games/snake-3d/Snake3DGame.js +1 -0
  341. package/lib/module/games/snake-3d/Snake3DMotion.js +1 -0
  342. package/lib/module/games/snake-3d/Snake3DRules.js +1 -0
  343. package/lib/module/games/snake-3d/Snake3DScene.js +1 -0
  344. package/lib/module/games/snakes-and-ladders/SnakesAndLadders.js +1 -1
  345. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersConstants.js +1 -1
  346. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersGame.js +1 -0
  347. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersScene.js +1 -0
  348. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  349. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
  350. package/lib/module/games/space-fighter/SpaceFighterGame.js +1 -0
  351. package/lib/module/games/space-fighter/SpaceFighterScene.js +1 -0
  352. package/lib/module/games/spider-solitaire/SpiderSolitaire.js +1 -1
  353. package/lib/module/games/spider-solitaire/SpiderSolitaireConstants.js +1 -1
  354. package/lib/module/games/spider-solitaire/SpiderSolitaireGame.js +1 -0
  355. package/lib/module/games/spider-solitaire/SpiderSolitaireRules.js +1 -0
  356. package/lib/module/games/spider-solitaire/SpiderSolitaireScene.js +1 -0
  357. package/lib/module/games/stack-tower/StackTower.js +1 -1
  358. package/lib/module/games/stack-tower/StackTowerConstants.js +1 -1
  359. package/lib/module/games/stack-tower/StackTowerGame.js +1 -0
  360. package/lib/module/games/stack-tower/StackTowerScene.js +1 -0
  361. package/lib/module/games/sudoku/Sudoku.js +1 -1
  362. package/lib/module/games/sudoku/SudokuConstants.js +1 -1
  363. package/lib/module/games/sudoku/SudokuGame.js +1 -0
  364. package/lib/module/games/sudoku/SudokuRules.js +1 -0
  365. package/lib/module/games/sudoku/SudokuScene.js +1 -0
  366. package/lib/module/games/tangram/Tangram.js +1 -1
  367. package/lib/module/games/tangram/TangramConstants.js +1 -1
  368. package/lib/module/games/tangram/TangramGame.js +1 -0
  369. package/lib/module/games/tangram/TangramRules.js +1 -0
  370. package/lib/module/games/tangram/TangramScene.js +1 -0
  371. package/lib/module/games/tank-1990/Tank1990.js +1 -1
  372. package/lib/module/games/tank-1990/Tank1990Constants.js +1 -1
  373. package/lib/module/games/tank-1990/Tank1990Game.js +1 -0
  374. package/lib/module/games/tank-1990/Tank1990Rules.js +1 -0
  375. package/lib/module/games/tank-1990/Tank1990Scene.js +1 -0
  376. package/lib/module/games/tic-tac-toe/TicTacToe.js +1 -1
  377. package/lib/module/games/tic-tac-toe/TicTacToeConstants.js +1 -1
  378. package/lib/module/games/tic-tac-toe/TicTacToeGame.js +1 -0
  379. package/lib/module/games/tic-tac-toe/TicTacToeRules.js +1 -0
  380. package/lib/module/games/tic-tac-toe/TicTacToeScene.js +1 -0
  381. package/lib/module/games/tile-home/TileHome.js +1 -1
  382. package/lib/module/games/tile-home/TileHomeConstants.js +1 -1
  383. package/lib/module/games/tile-home/TileHomeGame.js +1 -0
  384. package/lib/module/games/tile-home/TileHomeScene.js +1 -0
  385. package/lib/module/games/treasure-hunt/TreasureHunt.js +1 -0
  386. package/lib/module/games/treasure-hunt/TreasureHuntConstants.js +1 -0
  387. package/lib/module/games/treasure-hunt/TreasureHuntControls.js +1 -0
  388. package/lib/module/games/treasure-hunt/TreasureHuntGame.js +1 -0
  389. package/lib/module/games/treasure-hunt/TreasureHuntMeshes.js +1 -0
  390. package/lib/module/games/treasure-hunt/TreasureHuntModel.js +1 -0
  391. package/lib/module/games/treasure-hunt/TreasureHuntRules.js +1 -0
  392. package/lib/module/games/treasure-hunt/TreasureHuntScene.js +1 -0
  393. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  394. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
  395. package/lib/module/games/whack-a-mole/WhackAMoleGame.js +1 -0
  396. package/lib/module/games/whack-a-mole/WhackAMoleScene.js +1 -0
  397. package/lib/module/games/word-search/WordSearch.js +1 -1
  398. package/lib/module/games/word-search/WordSearchWords.js +1 -0
  399. package/lib/module/helpers/GamePatternData.js +1 -0
  400. package/lib/module/helpers/GameSettingsModal.js +1 -1
  401. package/lib/module/helpers/GameTheme.js +1 -0
  402. package/lib/module/helpers/IconPaths.js +1 -0
  403. package/lib/module/helpers/index.js +1 -1
  404. package/lib/module/index.js +1 -1
  405. package/lib/module/services/GameAssetLoader.js +1 -0
  406. package/lib/module/services/GameAssets.js +1 -0
  407. package/lib/module/services/GameLoaders.js +1 -0
  408. package/lib/module/services/GamesConstants.js +1 -1
  409. package/lib/module/services/GamesMetadata.js +1 -1
  410. package/lib/module/services/GamesService.js +1 -1
  411. package/lib/module/services/HapticsService.js +1 -1
  412. package/lib/module/services/ScoringService.js +1 -1
  413. package/lib/module/services/SfxSources.js +1 -0
  414. package/lib/module/services/SoundsService.js +1 -1
  415. package/lib/module/services/ThemeService.js +1 -0
  416. package/lib/module/services/UtilsService.js +1 -1
  417. package/lib/module/services/index.js +1 -1
  418. package/lib/typescript/src/games/arrows/Arrows.d.ts +1 -3
  419. package/lib/typescript/src/games/arrows/ArrowsConstants.d.ts +48 -32
  420. package/lib/typescript/src/games/arrows/ArrowsGame.d.ts +60 -0
  421. package/lib/typescript/src/games/arrows/ArrowsScene.d.ts +67 -0
  422. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -3
  423. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +39 -131
  424. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterGame.d.ts +57 -0
  425. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterPhysics.d.ts +16 -0
  426. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterScene.d.ts +31 -0
  427. package/lib/typescript/src/games/bike-racing/BikeMeshes.d.ts +14 -0
  428. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +2 -1
  429. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +38 -29
  430. package/lib/typescript/src/games/bike-racing/BikeRacingGame.d.ts +104 -0
  431. package/lib/typescript/src/games/bike-racing/BikeRacingScene.d.ts +25 -0
  432. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +1 -3
  433. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +48 -30
  434. package/lib/typescript/src/games/block-blast/BlockBlastGame.d.ts +77 -0
  435. package/lib/typescript/src/games/block-blast/BlockBlastScene.d.ts +36 -0
  436. package/lib/typescript/src/games/block-breaker/BlockBreaker.d.ts +1 -3
  437. package/lib/typescript/src/games/block-breaker/BlockBreakerConstants.d.ts +88 -35
  438. package/lib/typescript/src/games/block-breaker/BlockBreakerGame.d.ts +82 -0
  439. package/lib/typescript/src/games/block-breaker/BlockBreakerScene.d.ts +48 -0
  440. package/lib/typescript/src/games/bluk/Bluk.d.ts +1 -3
  441. package/lib/typescript/src/games/bluk/BlukConstants.d.ts +65 -54
  442. package/lib/typescript/src/games/bluk/BlukGame.d.ts +65 -0
  443. package/lib/typescript/src/games/bluk/BlukRules.d.ts +51 -0
  444. package/lib/typescript/src/games/bluk/BlukScene.d.ts +54 -0
  445. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +1 -3
  446. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +56 -24
  447. package/lib/typescript/src/games/bubble-shooter/BubbleShooterGame.d.ts +70 -0
  448. package/lib/typescript/src/games/bubble-shooter/BubbleShooterScene.d.ts +26 -0
  449. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +1 -3
  450. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +63 -32
  451. package/lib/typescript/src/games/candy-crush/CandyCrushGame.d.ts +65 -0
  452. package/lib/typescript/src/games/candy-crush/CandyCrushScene.d.ts +28 -0
  453. package/lib/typescript/src/games/car-racing/CarMeshes.d.ts +44 -0
  454. package/lib/typescript/src/games/car-racing/CarRacing.d.ts +2 -1
  455. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +60 -29
  456. package/lib/typescript/src/games/car-racing/CarRacingFacade.d.ts +5 -0
  457. package/lib/typescript/src/games/car-racing/CarRacingGame.d.ts +96 -0
  458. package/lib/typescript/src/games/car-racing/CarRacingScene.d.ts +97 -0
  459. package/lib/typescript/src/games/car-racing/CarRacingScenery.d.ts +22 -0
  460. package/lib/typescript/src/games/chameleon-run/ChameleonRun.d.ts +1 -3
  461. package/lib/typescript/src/games/chameleon-run/ChameleonRunBackdrop.d.ts +14 -0
  462. package/lib/typescript/src/games/chameleon-run/ChameleonRunConstants.d.ts +44 -42
  463. package/lib/typescript/src/games/chameleon-run/ChameleonRunGame.d.ts +60 -0
  464. package/lib/typescript/src/games/chameleon-run/ChameleonRunMeshes.d.ts +20 -0
  465. package/lib/typescript/src/games/chameleon-run/ChameleonRunRules.d.ts +52 -0
  466. package/lib/typescript/src/games/chameleon-run/ChameleonRunScene.d.ts +44 -0
  467. package/lib/typescript/src/games/checkers/Checkers.d.ts +1 -3
  468. package/lib/typescript/src/games/checkers/CheckersAI.d.ts +11 -0
  469. package/lib/typescript/src/games/checkers/CheckersConstants.d.ts +32 -72
  470. package/lib/typescript/src/games/checkers/CheckersGame.d.ts +56 -0
  471. package/lib/typescript/src/games/checkers/CheckersRules.d.ts +48 -0
  472. package/lib/typescript/src/games/checkers/CheckersScene.d.ts +41 -0
  473. package/lib/typescript/src/games/color-switch/ColorSwitch.d.ts +1 -3
  474. package/lib/typescript/src/games/color-switch/ColorSwitchConstants.d.ts +27 -31
  475. package/lib/typescript/src/games/color-switch/ColorSwitchGame.d.ts +61 -0
  476. package/lib/typescript/src/games/color-switch/ColorSwitchScene.d.ts +43 -0
  477. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +1 -3
  478. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +37 -44
  479. package/lib/typescript/src/games/colors-sort/ColorsSortGame.d.ts +41 -0
  480. package/lib/typescript/src/games/colors-sort/ColorsSortScene.d.ts +33 -0
  481. package/lib/typescript/src/games/connect-em-all/ConnectEmAll.d.ts +1 -3
  482. package/lib/typescript/src/games/connect-em-all/ConnectEmAllConstants.d.ts +43 -17
  483. package/lib/typescript/src/games/connect-em-all/ConnectEmAllGame.d.ts +54 -0
  484. package/lib/typescript/src/games/connect-em-all/ConnectEmAllScene.d.ts +49 -0
  485. package/lib/typescript/src/games/crossy-road/CrossyRoad.d.ts +1 -3
  486. package/lib/typescript/src/games/crossy-road/CrossyRoadCamera.d.ts +14 -0
  487. package/lib/typescript/src/games/crossy-road/CrossyRoadConstants.d.ts +82 -50
  488. package/lib/typescript/src/games/crossy-road/CrossyRoadGame.d.ts +64 -0
  489. package/lib/typescript/src/games/crossy-road/CrossyRoadMeshes.d.ts +16 -0
  490. package/lib/typescript/src/games/crossy-road/CrossyRoadPerson.d.ts +10 -0
  491. package/lib/typescript/src/games/crossy-road/CrossyRoadRules.d.ts +36 -0
  492. package/lib/typescript/src/games/crossy-road/CrossyRoadScene.d.ts +38 -0
  493. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +1 -3
  494. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +48 -72
  495. package/lib/typescript/src/games/dino-jump/DinoJumpGame.d.ts +60 -0
  496. package/lib/typescript/src/games/dino-jump/DinoJumpScene.d.ts +35 -0
  497. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxes.d.ts +1 -3
  498. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesConstants.d.ts +31 -36
  499. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesGame.d.ts +44 -0
  500. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesScene.d.ts +31 -0
  501. package/lib/typescript/src/games/falling-sticks/FallingSticks.d.ts +1 -3
  502. package/lib/typescript/src/games/falling-sticks/FallingSticksConstants.d.ts +31 -43
  503. package/lib/typescript/src/games/falling-sticks/FallingSticksGame.d.ts +42 -0
  504. package/lib/typescript/src/games/falling-sticks/FallingSticksRules.d.ts +36 -0
  505. package/lib/typescript/src/games/falling-sticks/FallingSticksScene.d.ts +26 -0
  506. package/lib/typescript/src/games/find-different-number/FindDifferentNumber.d.ts +1 -3
  507. package/lib/typescript/src/games/find-different-number/FindDifferentNumberConstants.d.ts +33 -29
  508. package/lib/typescript/src/games/find-different-number/FindDifferentNumberGame.d.ts +43 -0
  509. package/lib/typescript/src/games/find-different-number/FindDifferentNumberRules.d.ts +8 -0
  510. package/lib/typescript/src/games/find-different-number/FindDifferentNumberScene.d.ts +31 -0
  511. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +1 -3
  512. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +39 -35
  513. package/lib/typescript/src/games/flappy-bird/FlappyBirdGame.d.ts +66 -0
  514. package/lib/typescript/src/games/flappy-bird/FlappyBirdScene.d.ts +41 -0
  515. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +1 -3
  516. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +71 -44
  517. package/lib/typescript/src/games/fruit-merger/FruitMergerGame.d.ts +63 -0
  518. package/lib/typescript/src/games/fruit-merger/FruitMergerRules.d.ts +39 -0
  519. package/lib/typescript/src/games/fruit-merger/FruitMergerScene.d.ts +49 -0
  520. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -3
  521. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +51 -76
  522. package/lib/typescript/src/games/fruit-ninja/FruitNinjaGame.d.ts +76 -0
  523. package/lib/typescript/src/games/fruit-ninja/FruitNinjaScene.d.ts +52 -0
  524. package/lib/typescript/src/games/fruit-ninja/FruitNinjaWorld.d.ts +8 -0
  525. package/lib/typescript/src/games/game-2048/Game2048.d.ts +1 -3
  526. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +25 -120
  527. package/lib/typescript/src/games/game-2048/Game2048Game.d.ts +45 -0
  528. package/lib/typescript/src/games/game-2048/Game2048Rules.d.ts +32 -0
  529. package/lib/typescript/src/games/game-2048/Game2048Scene.d.ts +34 -0
  530. package/lib/typescript/src/games/knife-hit/KnifeHit.d.ts +1 -3
  531. package/lib/typescript/src/games/knife-hit/KnifeHitConstants.d.ts +41 -49
  532. package/lib/typescript/src/games/knife-hit/KnifeHitGame.d.ts +49 -0
  533. package/lib/typescript/src/games/knife-hit/KnifeHitScene.d.ts +37 -0
  534. package/lib/typescript/src/games/ludo-king/LudoKing.d.ts +1 -3
  535. package/lib/typescript/src/games/ludo-king/LudoKingConstants.d.ts +50 -28
  536. package/lib/typescript/src/games/ludo-king/LudoKingGame.d.ts +40 -0
  537. package/lib/typescript/src/games/ludo-king/LudoKingRules.d.ts +42 -0
  538. package/lib/typescript/src/games/ludo-king/LudoKingScene.d.ts +53 -0
  539. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -3
  540. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +34 -10
  541. package/lib/typescript/src/games/maze-runner/MazeRunnerGame.d.ts +44 -0
  542. package/lib/typescript/src/games/maze-runner/MazeRunnerRules.d.ts +34 -0
  543. package/lib/typescript/src/games/maze-runner/MazeRunnerScene.d.ts +29 -0
  544. package/lib/typescript/src/games/memory-match/MemoryMatch.d.ts +1 -3
  545. package/lib/typescript/src/games/memory-match/MemoryMatchConstants.d.ts +42 -42
  546. package/lib/typescript/src/games/memory-match/MemoryMatchGame.d.ts +53 -0
  547. package/lib/typescript/src/games/memory-match/MemoryMatchRules.d.ts +14 -0
  548. package/lib/typescript/src/games/memory-match/MemoryMatchScene.d.ts +35 -0
  549. package/lib/typescript/src/games/mine-sweeper/MineSweeper.d.ts +1 -3
  550. package/lib/typescript/src/games/mine-sweeper/MineSweeperConstants.d.ts +43 -82
  551. package/lib/typescript/src/games/mine-sweeper/MineSweeperGame.d.ts +59 -0
  552. package/lib/typescript/src/games/mine-sweeper/MineSweeperRules.d.ts +18 -0
  553. package/lib/typescript/src/games/mine-sweeper/MineSweeperScene.d.ts +23 -0
  554. package/lib/typescript/src/games/mob-control/MobControl.d.ts +1 -3
  555. package/lib/typescript/src/games/mob-control/MobControlConstants.d.ts +99 -85
  556. package/lib/typescript/src/games/mob-control/MobControlGame.d.ts +45 -0
  557. package/lib/typescript/src/games/mob-control/MobControlMeshes.d.ts +2 -0
  558. package/lib/typescript/src/games/mob-control/MobControlRenderer.d.ts +20 -0
  559. package/lib/typescript/src/games/mob-control/MobControlRules.d.ts +68 -0
  560. package/lib/typescript/src/games/mob-control/MobControlScene.d.ts +58 -0
  561. package/lib/typescript/src/games/number-search/NumberSearch.d.ts +1 -3
  562. package/lib/typescript/src/games/number-search/NumberSearchNumbers.d.ts +1 -0
  563. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBolts.d.ts +1 -3
  564. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsConstants.d.ts +27 -79
  565. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsGame.d.ts +56 -0
  566. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsRules.d.ts +65 -0
  567. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsScene.d.ts +48 -0
  568. package/lib/typescript/src/games/pac-man/PacMan.d.ts +1 -3
  569. package/lib/typescript/src/games/pac-man/PacManConstants.d.ts +66 -106
  570. package/lib/typescript/src/games/pac-man/PacManGame.d.ts +48 -0
  571. package/lib/typescript/src/games/pac-man/PacManRules.d.ts +52 -0
  572. package/lib/typescript/src/games/pac-man/PacManScene.d.ts +44 -0
  573. package/lib/typescript/src/games/paper-io/PaperIo.d.ts +1 -3
  574. package/lib/typescript/src/games/paper-io/PaperIoConstants.d.ts +60 -40
  575. package/lib/typescript/src/games/paper-io/PaperIoGame.d.ts +49 -0
  576. package/lib/typescript/src/games/paper-io/PaperIoMeshes.d.ts +13 -0
  577. package/lib/typescript/src/games/paper-io/PaperIoRules.d.ts +71 -0
  578. package/lib/typescript/src/games/paper-io/PaperIoScene.d.ts +39 -0
  579. package/lib/typescript/src/games/penguin-run/PenguinMeshes.d.ts +9 -0
  580. package/lib/typescript/src/games/penguin-run/PenguinModel.d.ts +42 -0
  581. package/lib/typescript/src/games/penguin-run/PenguinRun.d.ts +1 -0
  582. package/lib/typescript/src/games/penguin-run/PenguinRunConstants.d.ts +58 -0
  583. package/lib/typescript/src/games/penguin-run/PenguinRunGame.d.ts +64 -0
  584. package/lib/typescript/src/games/penguin-run/PenguinRunScene.d.ts +65 -0
  585. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +1 -3
  586. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +23 -45
  587. package/lib/typescript/src/games/perfect-circle/PerfectCircleGame.d.ts +40 -0
  588. package/lib/typescript/src/games/perfect-circle/PerfectCircleRules.d.ts +55 -0
  589. package/lib/typescript/src/games/perfect-circle/PerfectCircleScene.d.ts +32 -0
  590. package/lib/typescript/src/games/pipe-connect/PipeConnect.d.ts +1 -3
  591. package/lib/typescript/src/games/pipe-connect/PipeConnectConstants.d.ts +36 -32
  592. package/lib/typescript/src/games/pipe-connect/PipeConnectGame.d.ts +40 -0
  593. package/lib/typescript/src/games/pipe-connect/PipeConnectRules.d.ts +16 -0
  594. package/lib/typescript/src/games/pipe-connect/PipeConnectScene.d.ts +28 -0
  595. package/lib/typescript/src/games/play-with-tua/PlayWithTua.d.ts +2 -0
  596. package/lib/typescript/src/games/play-with-tua/PlayWithTuaConstants.d.ts +64 -0
  597. package/lib/typescript/src/games/play-with-tua/PlayWithTuaGame.d.ts +34 -0
  598. package/lib/typescript/src/games/play-with-tua/PlayWithTuaModel.d.ts +9 -0
  599. package/lib/typescript/src/games/play-with-tua/PlayWithTuaScene.d.ts +13 -0
  600. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -4
  601. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +25 -36
  602. package/lib/typescript/src/games/popit-fidget/PopitFidgetGame.d.ts +37 -0
  603. package/lib/typescript/src/games/popit-fidget/PopitFidgetScene.d.ts +19 -0
  604. package/lib/typescript/src/games/reversi/Reversi.d.ts +1 -3
  605. package/lib/typescript/src/games/reversi/ReversiConstants.d.ts +31 -62
  606. package/lib/typescript/src/games/reversi/ReversiGame.d.ts +54 -0
  607. package/lib/typescript/src/games/reversi/ReversiRules.d.ts +22 -0
  608. package/lib/typescript/src/games/reversi/ReversiScene.d.ts +27 -0
  609. package/lib/typescript/src/games/search-grid/SearchGrid.d.ts +20 -0
  610. package/lib/typescript/src/games/search-grid/SearchGridConstants.d.ts +60 -0
  611. package/lib/typescript/src/games/search-grid/SearchGridGame.d.ts +52 -0
  612. package/lib/typescript/src/games/search-grid/SearchGridScene.d.ts +43 -0
  613. package/lib/typescript/src/games/shared/BackdropCard.d.ts +2 -0
  614. package/lib/typescript/src/games/shared/EngineBackdrop.d.ts +19 -0
  615. package/lib/typescript/src/games/shared/EngineBlasts.d.ts +26 -0
  616. package/lib/typescript/src/games/shared/EngineBlocks.d.ts +19 -0
  617. package/lib/typescript/src/games/shared/EngineControlText.d.ts +2 -0
  618. package/lib/typescript/src/games/shared/EngineDice.d.ts +24 -0
  619. package/lib/typescript/src/games/shared/EngineFootprint.d.ts +17 -0
  620. package/lib/typescript/src/games/shared/EngineFruits.d.ts +27 -0
  621. package/lib/typescript/src/games/shared/EngineGameLoader.d.ts +4 -0
  622. package/lib/typescript/src/games/shared/EngineGameScreen.d.ts +48 -0
  623. package/lib/typescript/src/games/shared/EngineGameWidth.d.ts +3 -0
  624. package/lib/typescript/src/games/shared/EngineGameWidth.web.d.ts +3 -0
  625. package/lib/typescript/src/games/shared/EngineGlyphs.d.ts +15 -0
  626. package/lib/typescript/src/games/shared/EngineHud.d.ts +138 -0
  627. package/lib/typescript/src/games/shared/EngineLoading.d.ts +77 -0
  628. package/lib/typescript/src/games/shared/EngineMeadow.d.ts +90 -0
  629. package/lib/typescript/src/games/shared/EngineMeshCache.d.ts +3 -0
  630. package/lib/typescript/src/games/shared/EngineMeshes.d.ts +3 -0
  631. package/lib/typescript/src/games/shared/EngineRacingChase.d.ts +11 -0
  632. package/lib/typescript/src/games/shared/EngineRacingHandling.d.ts +15 -0
  633. package/lib/typescript/src/games/shared/EngineReadyContext.d.ts +2 -0
  634. package/lib/typescript/src/games/shared/EngineTilt.d.ts +19 -0
  635. package/lib/typescript/src/games/shared/EngineTouchSurface.d.ts +20 -0
  636. package/lib/typescript/src/games/shared/EngineUtils.d.ts +18 -0
  637. package/lib/typescript/src/games/shared/GameActivity.d.ts +3 -0
  638. package/lib/typescript/src/games/shared/GameLoading.d.ts +14 -0
  639. package/lib/typescript/src/games/shared/GameLoadingTransition.d.ts +9 -0
  640. package/lib/typescript/src/games/shared/ProceduralCacheVersion.d.ts +1 -0
  641. package/lib/typescript/src/games/shared/useEngineGame.d.ts +69 -0
  642. package/lib/typescript/src/games/shared/useGameResource.d.ts +2 -0
  643. package/lib/typescript/src/games/shared/useLiveState.d.ts +4 -0
  644. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +1 -3
  645. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +32 -40
  646. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersGame.d.ts +48 -0
  647. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersRules.d.ts +22 -0
  648. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersScene.d.ts +30 -0
  649. package/lib/typescript/src/games/snake-3d/Snake3D.d.ts +1 -3
  650. package/lib/typescript/src/games/snake-3d/Snake3DConstants.d.ts +31 -68
  651. package/lib/typescript/src/games/snake-3d/Snake3DGame.d.ts +42 -0
  652. package/lib/typescript/src/games/snake-3d/Snake3DMotion.d.ts +3 -0
  653. package/lib/typescript/src/games/snake-3d/Snake3DRules.d.ts +42 -0
  654. package/lib/typescript/src/games/snake-3d/Snake3DScene.d.ts +35 -0
  655. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLadders.d.ts +1 -3
  656. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersConstants.d.ts +58 -50
  657. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersGame.d.ts +45 -0
  658. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersScene.d.ts +50 -0
  659. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -3
  660. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +33 -23
  661. package/lib/typescript/src/games/space-fighter/SpaceFighterGame.d.ts +58 -0
  662. package/lib/typescript/src/games/space-fighter/SpaceFighterScene.d.ts +51 -0
  663. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaire.d.ts +1 -3
  664. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireConstants.d.ts +52 -35
  665. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireGame.d.ts +67 -0
  666. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireRules.d.ts +39 -0
  667. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireScene.d.ts +60 -0
  668. package/lib/typescript/src/games/stack-tower/StackTower.d.ts +1 -3
  669. package/lib/typescript/src/games/stack-tower/StackTowerConstants.d.ts +31 -23
  670. package/lib/typescript/src/games/stack-tower/StackTowerGame.d.ts +58 -0
  671. package/lib/typescript/src/games/stack-tower/StackTowerScene.d.ts +27 -0
  672. package/lib/typescript/src/games/sudoku/Sudoku.d.ts +1 -3
  673. package/lib/typescript/src/games/sudoku/SudokuConstants.d.ts +50 -55
  674. package/lib/typescript/src/games/sudoku/SudokuGame.d.ts +56 -0
  675. package/lib/typescript/src/games/sudoku/SudokuRules.d.ts +23 -0
  676. package/lib/typescript/src/games/sudoku/SudokuScene.d.ts +44 -0
  677. package/lib/typescript/src/games/tangram/Tangram.d.ts +1 -3
  678. package/lib/typescript/src/games/tangram/TangramConstants.d.ts +33 -52
  679. package/lib/typescript/src/games/tangram/TangramGame.d.ts +68 -0
  680. package/lib/typescript/src/games/tangram/TangramRules.d.ts +61 -0
  681. package/lib/typescript/src/games/tangram/TangramScene.d.ts +42 -0
  682. package/lib/typescript/src/games/tank-1990/Tank1990.d.ts +1 -3
  683. package/lib/typescript/src/games/tank-1990/Tank1990Constants.d.ts +44 -127
  684. package/lib/typescript/src/games/tank-1990/Tank1990Game.d.ts +50 -0
  685. package/lib/typescript/src/games/tank-1990/Tank1990Rules.d.ts +67 -0
  686. package/lib/typescript/src/games/tank-1990/Tank1990Scene.d.ts +38 -0
  687. package/lib/typescript/src/games/tic-tac-toe/TicTacToe.d.ts +1 -3
  688. package/lib/typescript/src/games/tic-tac-toe/TicTacToeConstants.d.ts +35 -72
  689. package/lib/typescript/src/games/tic-tac-toe/TicTacToeGame.d.ts +54 -0
  690. package/lib/typescript/src/games/tic-tac-toe/TicTacToeRules.d.ts +10 -0
  691. package/lib/typescript/src/games/tic-tac-toe/TicTacToeScene.d.ts +26 -0
  692. package/lib/typescript/src/games/tile-home/TileHome.d.ts +1 -3
  693. package/lib/typescript/src/games/tile-home/TileHomeConstants.d.ts +72 -70
  694. package/lib/typescript/src/games/tile-home/TileHomeGame.d.ts +72 -0
  695. package/lib/typescript/src/games/tile-home/TileHomeScene.d.ts +28 -0
  696. package/lib/typescript/src/games/treasure-hunt/TreasureHunt.d.ts +3 -0
  697. package/lib/typescript/src/games/treasure-hunt/TreasureHuntConstants.d.ts +144 -0
  698. package/lib/typescript/src/games/treasure-hunt/TreasureHuntControls.d.ts +75 -0
  699. package/lib/typescript/src/games/treasure-hunt/TreasureHuntGame.d.ts +41 -0
  700. package/lib/typescript/src/games/treasure-hunt/TreasureHuntMeshes.d.ts +26 -0
  701. package/lib/typescript/src/games/treasure-hunt/TreasureHuntModel.d.ts +57 -0
  702. package/lib/typescript/src/games/treasure-hunt/TreasureHuntRules.d.ts +198 -0
  703. package/lib/typescript/src/games/treasure-hunt/TreasureHuntScene.d.ts +40 -0
  704. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -3
  705. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +35 -45
  706. package/lib/typescript/src/games/whack-a-mole/WhackAMoleGame.d.ts +51 -0
  707. package/lib/typescript/src/games/whack-a-mole/WhackAMoleScene.d.ts +31 -0
  708. package/lib/typescript/src/games/word-search/WordSearch.d.ts +1 -3
  709. package/lib/typescript/src/games/word-search/WordSearchWords.d.ts +1 -0
  710. package/lib/typescript/src/helpers/GamePatternData.d.ts +46 -0
  711. package/lib/typescript/src/helpers/GameSettingsModal.d.ts +1 -1
  712. package/lib/typescript/src/helpers/GameTheme.d.ts +18 -0
  713. package/lib/typescript/src/helpers/IconPaths.d.ts +4 -0
  714. package/lib/typescript/src/helpers/index.d.ts +1 -19
  715. package/lib/typescript/src/index.d.ts +3 -0
  716. package/lib/typescript/src/services/GameAssetLoader.d.ts +32 -0
  717. package/lib/typescript/src/services/GameAssets.d.ts +11 -0
  718. package/lib/typescript/src/services/GameLoaders.d.ts +18 -0
  719. package/lib/typescript/src/services/GamesConstants.d.ts +11 -0
  720. package/lib/typescript/src/services/GamesMetadata.d.ts +2 -0
  721. package/lib/typescript/src/services/HapticsService.d.ts +1 -1
  722. package/lib/typescript/src/services/SfxSources.d.ts +79 -0
  723. package/lib/typescript/src/services/SoundsService.d.ts +487 -1566
  724. package/lib/typescript/src/services/ThemeService.d.ts +117 -0
  725. package/lib/typescript/src/services/UtilsService.d.ts +20 -2
  726. package/lib/typescript/src/services/index.d.ts +3 -0
  727. package/lib/web/assets/005ea2045b17-explorer.glb +0 -0
  728. package/lib/web/assets/01e2f0a0bbf6-hurt.wav +0 -0
  729. package/lib/web/assets/01fc0ecf658c-explorer-atlas.png +0 -0
  730. package/lib/web/assets/029329b2c7c0-asphalt.png +0 -0
  731. package/lib/web/assets/0376bda32be3-robot.wav +0 -0
  732. package/lib/web/assets/0719fb0bb38e-soft_glow.png +0 -0
  733. package/lib/web/assets/0b21278bffba-boing.wav +0 -0
  734. package/lib/web/assets/1333c9d1273c-flip_disc.wav +0 -0
  735. package/lib/web/assets/15785f62ee5f-time_up.wav +0 -0
  736. package/lib/web/assets/177f00502e08-bonus.wav +0 -0
  737. package/lib/web/assets/19e47dcfda1f-pling.wav +0 -0
  738. package/lib/web/assets/1a677e0f7f6c-laugh.wav +0 -0
  739. package/lib/web/assets/1ad2914478b1-eat.wav +0 -0
  740. package/lib/web/assets/1b0d703ddd1a-dance.wav +0 -0
  741. package/lib/web/assets/1e4330fddd74-chime.wav +0 -0
  742. package/lib/web/assets/2432a97b0af1-cannon.wav +0 -0
  743. package/lib/web/assets/2574370d6aa0-blocked.wav +0 -0
  744. package/lib/web/assets/2699065037ad-select.wav +0 -0
  745. package/lib/web/assets/28d30f53ad73-ladder.wav +0 -0
  746. package/lib/web/assets/2c1ec05270b2-point.wav +0 -0
  747. package/lib/web/assets/2e1dd99a0213-tick.wav +0 -0
  748. package/lib/web/assets/3084575cecdb-card_flip.wav +0 -0
  749. package/lib/web/assets/308bc31b6af5-engine.wav +0 -0
  750. package/lib/web/assets/336d63b739b5-combo.wav +0 -0
  751. package/lib/web/assets/3a369e2596e4-clash.wav +0 -0
  752. package/lib/web/assets/3a816e20212f-capture.wav +0 -0
  753. package/lib/web/assets/40240217810a-nitro.wav +0 -0
  754. package/lib/web/assets/46edaa54d1ea-crunch.wav +0 -0
  755. package/lib/web/assets/501994226995-coin.wav +0 -0
  756. package/lib/web/assets/5525d7f6a4b8-rotate.wav +0 -0
  757. package/lib/web/assets/5e816e1f0929-dice_roll.wav +0 -0
  758. package/lib/web/assets/60e2dec3cf41-deselect.wav +0 -0
  759. package/lib/web/assets/6ab86ea29e5c-six.wav +0 -0
  760. package/lib/web/assets/6da3b101926d-merge.wav +0 -0
  761. package/lib/web/assets/6e686dea513c-bark.jpg +0 -0
  762. package/lib/web/assets/6ff9a6a13714-limestone.jpg +0 -0
  763. package/lib/web/assets/735c4a1cd22e-invalid.wav +0 -0
  764. package/lib/web/assets/73f75c35ff5d-snake.wav +0 -0
  765. package/lib/web/assets/7506e3efe264-catch.wav +0 -0
  766. package/lib/web/assets/76493a2ada2d-ad_bolt.png +0 -0
  767. package/lib/web/assets/793abe620201-card_place.wav +0 -0
  768. package/lib/web/assets/7da09c57f52d-facade.png +0 -0
  769. package/lib/web/assets/7e1a902176f6-pine.png +0 -0
  770. package/lib/web/assets/7eb943b85c21-play-with-tua.glb +0 -0
  771. package/lib/web/assets/837d43c06dba-ad_bubbles.png +0 -0
  772. package/lib/web/assets/84f1a7dfa368-game_over.wav +0 -0
  773. package/lib/web/assets/850e26ce3b0a-flap.wav +0 -0
  774. package/lib/web/assets/854b31683cb2-draw.wav +0 -0
  775. package/lib/web/assets/8616150393b7-error.wav +0 -0
  776. package/lib/web/assets/87cc6d503ec6-river.jpg +0 -0
  777. package/lib/web/assets/88755845922c-hop.wav +0 -0
  778. package/lib/web/assets/8ec8f469492d-chomp_alt.wav +0 -0
  779. package/lib/web/assets/8f17f89b138c-pew.wav +0 -0
  780. package/lib/web/assets/9210a24472d1-place.wav +0 -0
  781. package/lib/web/assets/930d833ebf89-splash.wav +0 -0
  782. package/lib/web/assets/970f7c59265d-swoosh.wav +0 -0
  783. package/lib/web/assets/9900b8d1b6ad-flag.wav +0 -0
  784. package/lib/web/assets/9ab04403898b-clang.wav +0 -0
  785. package/lib/web/assets/9d8b97a10d45-drop.wav +0 -0
  786. package/lib/web/assets/9d9c02ddc7ed-boom.wav +0 -0
  787. package/lib/web/assets/9e1b5114d56d-pop_soft.wav +0 -0
  788. package/lib/web/assets/a01f22d6dbb3-thud.wav +0 -0
  789. package/lib/web/assets/a44a1cf1a1a8-bump.wav +0 -0
  790. package/lib/web/assets/a76940a48c68-hit.wav +0 -0
  791. package/lib/web/assets/a98ddb724460-leaves.png +0 -0
  792. package/lib/web/assets/aa0960e8bee6-footstep_run.wav +0 -0
  793. package/lib/web/assets/aa570c9d3e15-star.wav +0 -0
  794. package/lib/web/assets/aacb999f3c49-tock.wav +0 -0
  795. package/lib/web/assets/aae0c16c5e89-reveal.wav +0 -0
  796. package/lib/web/assets/ab37cd128509-click.wav +0 -0
  797. package/lib/web/assets/b0bc66f49005-warning.wav +0 -0
  798. package/lib/web/assets/b1edd756ac43-zap.wav +0 -0
  799. package/lib/web/assets/b3894545cf71-slice.wav +0 -0
  800. package/lib/web/assets/b3c6225d055a-meadow.jpg +0 -0
  801. package/lib/web/assets/b60ca65cdfcb-gate.wav +0 -0
  802. package/lib/web/assets/b8900bb2c5c7-win.wav +0 -0
  803. package/lib/web/assets/baff6feda846-lose.wav +0 -0
  804. package/lib/web/assets/bed31305d60d-ad_chevrons.png +0 -0
  805. package/lib/web/assets/c26f4a624e7d-shuffle.wav +0 -0
  806. package/lib/web/assets/c3a9edfad195-die.wav +0 -0
  807. package/lib/web/assets/c4aa9d773f2a-footstep_walk.wav +0 -0
  808. package/lib/web/assets/c5ab3ff0003f-crash.wav +0 -0
  809. package/lib/web/assets/c5eb07deddd4-start.wav +0 -0
  810. package/lib/web/assets/c6c58d9ae452-pop.wav +0 -0
  811. package/lib/web/assets/cea48c3cd9c7-balloon_pop.wav +0 -0
  812. package/lib/web/assets/d15591767778-tap.wav +0 -0
  813. package/lib/web/assets/d1781a52234f-slide.wav +0 -0
  814. package/lib/web/assets/d3bf2d9f793b-snap.wav +0 -0
  815. package/lib/web/assets/d8f59ebd3537-jump.wav +0 -0
  816. package/lib/web/assets/dafea2f28854-power_up.wav +0 -0
  817. package/lib/web/assets/e2e7f5ae2d1b-whoosh.wav +0 -0
  818. package/lib/web/assets/e2f90a23e1bd-chomp.wav +0 -0
  819. package/lib/web/assets/e454e56df89a-clack.wav +0 -0
  820. package/lib/web/assets/e8cbc2b88bc4-Inter-SemiBold.ttf +0 -0
  821. package/lib/web/assets/ed6496b891fc-land.wav +0 -0
  822. package/lib/web/assets/f21920200a81-thunk.wav +0 -0
  823. package/lib/web/assets/f753b43be89d-whack.wav +0 -0
  824. package/lib/web/assets/f798c4b5cf4d-miss.wav +0 -0
  825. package/lib/web/assets/fbe299716916-grass.png +0 -0
  826. package/lib/web/chunk-52ez2s9z.js +15 -0
  827. package/lib/web/chunk-8675t224.js +1 -0
  828. package/lib/web/index.js +2 -0
  829. package/lib/web/package.json +1 -0
  830. package/lib/web/services.js +2 -0
  831. package/package.json +94 -73
  832. package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
  833. package/src/assets/models/explorer/explorer.glb +0 -0
  834. package/src/assets/models/explorer/params.json +51 -0
  835. package/src/assets/models/explorer/source.json +222 -0
  836. package/src/assets/models/play-with-tua/play-with-tua.glb +0 -0
  837. package/src/assets/models/play-with-tua/sources.json +141 -0
  838. package/src/assets/sfx/balloon_pop.wav +0 -0
  839. package/src/assets/sfx/blocked.wav +0 -0
  840. package/src/assets/sfx/boing.wav +0 -0
  841. package/src/assets/sfx/bonus.wav +0 -0
  842. package/src/assets/sfx/boom.wav +0 -0
  843. package/src/assets/sfx/bump.wav +0 -0
  844. package/src/assets/sfx/cannon.wav +0 -0
  845. package/src/assets/sfx/capture.wav +0 -0
  846. package/src/assets/sfx/card_flip.wav +0 -0
  847. package/src/assets/sfx/card_place.wav +0 -0
  848. package/src/assets/sfx/catch.wav +0 -0
  849. package/src/assets/sfx/chime.wav +0 -0
  850. package/src/assets/sfx/chomp.wav +0 -0
  851. package/src/assets/sfx/chomp_alt.wav +0 -0
  852. package/src/assets/sfx/clack.wav +0 -0
  853. package/src/assets/sfx/clang.wav +0 -0
  854. package/src/assets/sfx/clash.wav +0 -0
  855. package/src/assets/sfx/click.wav +0 -0
  856. package/src/assets/sfx/coin.wav +0 -0
  857. package/src/assets/sfx/combo.wav +0 -0
  858. package/src/assets/sfx/crash.wav +0 -0
  859. package/src/assets/sfx/crunch.wav +0 -0
  860. package/src/assets/sfx/dance.wav +0 -0
  861. package/src/assets/sfx/deselect.wav +0 -0
  862. package/src/assets/sfx/dice_roll.wav +0 -0
  863. package/src/assets/sfx/die.wav +0 -0
  864. package/src/assets/sfx/draw.wav +0 -0
  865. package/src/assets/sfx/drop.wav +0 -0
  866. package/src/assets/sfx/eat.wav +0 -0
  867. package/src/assets/sfx/engine.wav +0 -0
  868. package/src/assets/sfx/error.wav +0 -0
  869. package/src/assets/sfx/flag.wav +0 -0
  870. package/src/assets/sfx/flap.wav +0 -0
  871. package/src/assets/sfx/flip_disc.wav +0 -0
  872. package/src/assets/sfx/footstep_run.wav +0 -0
  873. package/src/assets/sfx/footstep_walk.wav +0 -0
  874. package/src/assets/sfx/game_over.wav +0 -0
  875. package/src/assets/sfx/gate.wav +0 -0
  876. package/src/assets/sfx/hit.wav +0 -0
  877. package/src/assets/sfx/hop.wav +0 -0
  878. package/src/assets/sfx/hurt.wav +0 -0
  879. package/src/assets/sfx/invalid.wav +0 -0
  880. package/src/assets/sfx/jump.wav +0 -0
  881. package/src/assets/sfx/ladder.wav +0 -0
  882. package/src/assets/sfx/land.wav +0 -0
  883. package/src/assets/sfx/laugh.wav +0 -0
  884. package/src/assets/sfx/lose.wav +0 -0
  885. package/src/assets/sfx/merge.wav +0 -0
  886. package/src/assets/sfx/miss.wav +0 -0
  887. package/src/assets/sfx/nitro.wav +0 -0
  888. package/src/assets/sfx/pew.wav +0 -0
  889. package/src/assets/sfx/place.wav +0 -0
  890. package/src/assets/sfx/pling.wav +0 -0
  891. package/src/assets/sfx/point.wav +0 -0
  892. package/src/assets/sfx/pop.wav +0 -0
  893. package/src/assets/sfx/pop_soft.wav +0 -0
  894. package/src/assets/sfx/power_up.wav +0 -0
  895. package/src/assets/sfx/reveal.wav +0 -0
  896. package/src/assets/sfx/robot.wav +0 -0
  897. package/src/assets/sfx/rotate.wav +0 -0
  898. package/src/assets/sfx/run_steps.wav +0 -0
  899. package/src/assets/sfx/select.wav +0 -0
  900. package/src/assets/sfx/shuffle.wav +0 -0
  901. package/src/assets/sfx/six.wav +0 -0
  902. package/src/assets/sfx/slice.wav +0 -0
  903. package/src/assets/sfx/slide.wav +0 -0
  904. package/src/assets/sfx/snake.wav +0 -0
  905. package/src/assets/sfx/snap.wav +0 -0
  906. package/src/assets/sfx/splash.wav +0 -0
  907. package/src/assets/sfx/star.wav +0 -0
  908. package/src/assets/sfx/start.wav +0 -0
  909. package/src/assets/sfx/swoosh.wav +0 -0
  910. package/src/assets/sfx/tap.wav +0 -0
  911. package/src/assets/sfx/thud.wav +0 -0
  912. package/src/assets/sfx/thunk.wav +0 -0
  913. package/src/assets/sfx/tick.wav +0 -0
  914. package/src/assets/sfx/time_up.wav +0 -0
  915. package/src/assets/sfx/tock.wav +0 -0
  916. package/src/assets/sfx/walk_steps.wav +0 -0
  917. package/src/assets/sfx/warning.wav +0 -0
  918. package/src/assets/sfx/whack.wav +0 -0
  919. package/src/assets/sfx/whoosh.wav +0 -0
  920. package/src/assets/sfx/win.wav +0 -0
  921. package/src/assets/sfx/zap.wav +0 -0
  922. package/src/assets/textures/ad_bolt.png +0 -0
  923. package/src/assets/textures/ad_bubbles.png +0 -0
  924. package/src/assets/textures/ad_chevrons.png +0 -0
  925. package/src/assets/textures/asphalt.png +0 -0
  926. package/src/assets/textures/bark.jpg +0 -0
  927. package/src/assets/textures/explorer-atlas.png +0 -0
  928. package/src/assets/textures/facade.png +0 -0
  929. package/src/assets/textures/grass.png +0 -0
  930. package/src/assets/textures/leaves.png +0 -0
  931. package/src/assets/textures/limestone.jpg +0 -0
  932. package/src/assets/textures/meadow.jpg +0 -0
  933. package/src/assets/textures/nature-sources.json +87 -0
  934. package/src/assets/textures/pine.png +0 -0
  935. package/src/assets/textures/river.jpg +0 -0
  936. package/src/assets/textures/soft_glow.png +0 -0
  937. package/src/games/arrows/Arrows.tsx +69 -0
  938. package/src/games/arrows/ArrowsConstants.ts +107 -0
  939. package/src/games/arrows/ArrowsGame.ts +735 -0
  940. package/src/games/arrows/ArrowsScene.ts +395 -0
  941. package/src/games/balloon-blaster/BalloonBlaster.tsx +75 -0
  942. package/src/games/balloon-blaster/BalloonBlasterConstants.ts +79 -0
  943. package/src/games/balloon-blaster/BalloonBlasterGame.ts +287 -0
  944. package/src/games/balloon-blaster/BalloonBlasterPhysics.ts +95 -0
  945. package/src/games/balloon-blaster/BalloonBlasterScene.ts +225 -0
  946. package/src/games/bike-racing/BikeMeshes.ts +273 -0
  947. package/src/games/bike-racing/BikeRacing.tsx +211 -0
  948. package/src/games/bike-racing/BikeRacingConstants.ts +103 -0
  949. package/src/games/bike-racing/BikeRacingGame.ts +557 -0
  950. package/src/games/bike-racing/BikeRacingScene.ts +119 -0
  951. package/src/games/block-blast/BlockBlast.tsx +73 -0
  952. package/src/games/block-blast/BlockBlastConstants.ts +179 -0
  953. package/src/games/block-blast/BlockBlastGame.ts +471 -0
  954. package/src/games/block-blast/BlockBlastScene.ts +156 -0
  955. package/src/games/block-breaker/BlockBreaker.tsx +79 -0
  956. package/src/games/block-breaker/BlockBreakerConstants.ts +139 -0
  957. package/src/games/block-breaker/BlockBreakerGame.ts +459 -0
  958. package/src/games/block-breaker/BlockBreakerScene.ts +257 -0
  959. package/src/games/bluk/Bluk.tsx +82 -0
  960. package/src/games/bluk/BlukConstants.ts +121 -0
  961. package/src/games/bluk/BlukGame.ts +323 -0
  962. package/src/games/bluk/BlukRules.ts +154 -0
  963. package/src/games/bluk/BlukScene.ts +514 -0
  964. package/src/games/bubble-shooter/BubbleShooter.tsx +76 -0
  965. package/src/games/bubble-shooter/BubbleShooterConstants.ts +103 -0
  966. package/src/games/bubble-shooter/BubbleShooterGame.ts +459 -0
  967. package/src/games/bubble-shooter/BubbleShooterScene.ts +158 -0
  968. package/src/games/candy-crush/CandyCrush.tsx +77 -0
  969. package/src/games/candy-crush/CandyCrushConstants.ts +94 -0
  970. package/src/games/candy-crush/CandyCrushGame.ts +477 -0
  971. package/src/games/candy-crush/CandyCrushScene.ts +209 -0
  972. package/src/games/car-racing/CarMeshes.ts +440 -0
  973. package/src/games/car-racing/CarRacing.tsx +211 -0
  974. package/src/games/car-racing/CarRacingConstants.ts +167 -0
  975. package/src/games/car-racing/CarRacingFacade.ts +40 -0
  976. package/src/games/car-racing/CarRacingGame.ts +539 -0
  977. package/src/games/car-racing/CarRacingScene.ts +1026 -0
  978. package/src/games/car-racing/CarRacingScenery.ts +265 -0
  979. package/src/games/chameleon-run/ChameleonRun.tsx +96 -0
  980. package/src/games/chameleon-run/ChameleonRunBackdrop.ts +186 -0
  981. package/src/games/chameleon-run/ChameleonRunConstants.ts +47 -0
  982. package/src/games/chameleon-run/ChameleonRunGame.ts +309 -0
  983. package/src/games/chameleon-run/ChameleonRunMeshes.ts +305 -0
  984. package/src/games/chameleon-run/ChameleonRunRules.ts +252 -0
  985. package/src/games/chameleon-run/ChameleonRunScene.ts +310 -0
  986. package/src/games/checkers/Checkers.tsx +83 -0
  987. package/src/games/checkers/CheckersAI.ts +255 -0
  988. package/src/games/checkers/CheckersConstants.ts +68 -0
  989. package/src/games/checkers/CheckersGame.ts +322 -0
  990. package/src/games/checkers/CheckersRules.ts +167 -0
  991. package/src/games/checkers/CheckersScene.ts +308 -0
  992. package/src/games/color-switch/ColorSwitch.tsx +75 -0
  993. package/src/games/color-switch/ColorSwitchConstants.ts +61 -0
  994. package/src/games/color-switch/ColorSwitchGame.ts +329 -0
  995. package/src/games/color-switch/ColorSwitchScene.ts +220 -0
  996. package/src/games/colors-sort/ColorsSort.tsx +82 -0
  997. package/src/games/colors-sort/ColorsSortConstants.ts +119 -0
  998. package/src/games/colors-sort/ColorsSortGame.ts +246 -0
  999. package/src/games/colors-sort/ColorsSortScene.ts +315 -0
  1000. package/src/games/connect-em-all/ConnectEmAll.tsx +70 -0
  1001. package/src/games/connect-em-all/ConnectEmAllConstants.ts +77 -0
  1002. package/src/games/connect-em-all/ConnectEmAllGame.ts +401 -0
  1003. package/src/games/connect-em-all/ConnectEmAllScene.ts +235 -0
  1004. package/src/games/crossy-road/CrossyRoad.tsx +74 -0
  1005. package/src/games/crossy-road/CrossyRoadCamera.ts +59 -0
  1006. package/src/games/crossy-road/CrossyRoadConstants.ts +132 -0
  1007. package/src/games/crossy-road/CrossyRoadGame.ts +293 -0
  1008. package/src/games/crossy-road/CrossyRoadMeshes.ts +195 -0
  1009. package/src/games/crossy-road/CrossyRoadPerson.ts +198 -0
  1010. package/src/games/crossy-road/CrossyRoadRules.ts +99 -0
  1011. package/src/games/crossy-road/CrossyRoadScene.ts +355 -0
  1012. package/src/games/dino-jump/DinoJump.tsx +77 -0
  1013. package/src/games/dino-jump/DinoJumpConstants.ts +80 -0
  1014. package/src/games/dino-jump/DinoJumpGame.ts +344 -0
  1015. package/src/games/dino-jump/DinoJumpScene.ts +686 -0
  1016. package/src/games/dots-and-boxes/DotsAndBoxes.tsx +83 -0
  1017. package/src/games/dots-and-boxes/DotsAndBoxesConstants.ts +77 -0
  1018. package/src/games/dots-and-boxes/DotsAndBoxesGame.ts +271 -0
  1019. package/src/games/dots-and-boxes/DotsAndBoxesScene.ts +249 -0
  1020. package/src/games/falling-sticks/FallingSticks.tsx +72 -0
  1021. package/src/games/falling-sticks/FallingSticksConstants.ts +62 -0
  1022. package/src/games/falling-sticks/FallingSticksGame.ts +220 -0
  1023. package/src/games/falling-sticks/FallingSticksRules.ts +145 -0
  1024. package/src/games/falling-sticks/FallingSticksScene.ts +245 -0
  1025. package/src/games/find-different-number/FindDifferentNumber.tsx +74 -0
  1026. package/src/games/find-different-number/FindDifferentNumberConstants.ts +74 -0
  1027. package/src/games/find-different-number/FindDifferentNumberGame.ts +174 -0
  1028. package/src/games/find-different-number/FindDifferentNumberRules.ts +43 -0
  1029. package/src/games/find-different-number/FindDifferentNumberScene.ts +193 -0
  1030. package/src/games/flappy-bird/FlappyBird.tsx +73 -0
  1031. package/src/games/flappy-bird/FlappyBirdConstants.ts +95 -0
  1032. package/src/games/flappy-bird/FlappyBirdGame.ts +375 -0
  1033. package/src/games/flappy-bird/FlappyBirdScene.ts +630 -0
  1034. package/src/games/fruit-merger/FruitMerger.tsx +73 -0
  1035. package/src/games/fruit-merger/FruitMergerConstants.ts +102 -0
  1036. package/src/games/fruit-merger/FruitMergerGame.ts +285 -0
  1037. package/src/games/fruit-merger/FruitMergerRules.ts +286 -0
  1038. package/src/games/fruit-merger/FruitMergerScene.ts +498 -0
  1039. package/src/games/fruit-ninja/FruitNinja.tsx +129 -0
  1040. package/src/games/fruit-ninja/FruitNinjaConstants.ts +107 -0
  1041. package/src/games/fruit-ninja/FruitNinjaGame.ts +391 -0
  1042. package/src/games/fruit-ninja/FruitNinjaScene.ts +319 -0
  1043. package/src/games/fruit-ninja/FruitNinjaWorld.ts +17 -0
  1044. package/src/games/game-2048/Game2048.tsx +84 -0
  1045. package/src/games/game-2048/Game2048Constants.ts +68 -0
  1046. package/src/games/game-2048/Game2048Game.ts +181 -0
  1047. package/src/games/game-2048/Game2048Rules.ts +101 -0
  1048. package/src/games/game-2048/Game2048Scene.ts +206 -0
  1049. package/src/games/knife-hit/KnifeHit.tsx +78 -0
  1050. package/src/games/knife-hit/KnifeHitConstants.ts +89 -0
  1051. package/src/games/knife-hit/KnifeHitGame.ts +264 -0
  1052. package/src/games/knife-hit/KnifeHitScene.ts +360 -0
  1053. package/src/games/ludo-king/LudoKing.tsx +86 -0
  1054. package/src/games/ludo-king/LudoKingConstants.ts +212 -0
  1055. package/src/games/ludo-king/LudoKingGame.ts +326 -0
  1056. package/src/games/ludo-king/LudoKingRules.ts +143 -0
  1057. package/src/games/ludo-king/LudoKingScene.ts +397 -0
  1058. package/src/games/maze-runner/MazeRunner.tsx +88 -0
  1059. package/src/games/maze-runner/MazeRunnerConstants.ts +65 -0
  1060. package/src/games/maze-runner/MazeRunnerGame.ts +176 -0
  1061. package/src/games/maze-runner/MazeRunnerRules.ts +161 -0
  1062. package/src/games/maze-runner/MazeRunnerScene.ts +245 -0
  1063. package/src/games/memory-match/MemoryMatch.tsx +77 -0
  1064. package/src/games/memory-match/MemoryMatchConstants.ts +105 -0
  1065. package/src/games/memory-match/MemoryMatchGame.ts +222 -0
  1066. package/src/games/memory-match/MemoryMatchRules.ts +38 -0
  1067. package/src/games/memory-match/MemoryMatchScene.ts +268 -0
  1068. package/src/games/mine-sweeper/MineSweeper.tsx +77 -0
  1069. package/src/games/mine-sweeper/MineSweeperConstants.ts +94 -0
  1070. package/src/games/mine-sweeper/MineSweeperGame.ts +234 -0
  1071. package/src/games/mine-sweeper/MineSweeperRules.ts +67 -0
  1072. package/src/games/mine-sweeper/MineSweeperScene.ts +262 -0
  1073. package/src/games/mob-control/MobControl.tsx +73 -0
  1074. package/src/games/mob-control/MobControlConstants.ts +106 -0
  1075. package/src/games/mob-control/MobControlGame.ts +176 -0
  1076. package/src/games/mob-control/MobControlMeshes.ts +85 -0
  1077. package/src/games/mob-control/MobControlRenderer.ts +108 -0
  1078. package/src/games/mob-control/MobControlRules.ts +522 -0
  1079. package/src/games/mob-control/MobControlScene.ts +399 -0
  1080. package/src/games/number-search/NumberSearch.tsx +18 -0
  1081. package/src/games/number-search/NumberSearchNumbers.ts +623 -0
  1082. package/src/games/nuts-and-bolts/NutsAndBolts.tsx +85 -0
  1083. package/src/games/nuts-and-bolts/NutsAndBoltsConstants.ts +75 -0
  1084. package/src/games/nuts-and-bolts/NutsAndBoltsGame.ts +298 -0
  1085. package/src/games/nuts-and-bolts/NutsAndBoltsRules.ts +474 -0
  1086. package/src/games/nuts-and-bolts/NutsAndBoltsScene.ts +498 -0
  1087. package/src/games/pac-man/PacMan.tsx +86 -0
  1088. package/src/games/pac-man/PacManConstants.ts +169 -0
  1089. package/src/games/pac-man/PacManGame.ts +406 -0
  1090. package/src/games/pac-man/PacManRules.ts +255 -0
  1091. package/src/games/pac-man/PacManScene.ts +387 -0
  1092. package/src/games/paper-io/PaperIo.tsx +91 -0
  1093. package/src/games/paper-io/PaperIoConstants.ts +86 -0
  1094. package/src/games/paper-io/PaperIoGame.ts +193 -0
  1095. package/src/games/paper-io/PaperIoMeshes.ts +233 -0
  1096. package/src/games/paper-io/PaperIoRules.ts +315 -0
  1097. package/src/games/paper-io/PaperIoScene.ts +310 -0
  1098. package/src/games/penguin-run/PenguinMeshes.ts +269 -0
  1099. package/src/games/penguin-run/PenguinModel.ts +712 -0
  1100. package/src/games/penguin-run/PenguinRun.tsx +77 -0
  1101. package/src/games/penguin-run/PenguinRunConstants.ts +69 -0
  1102. package/src/games/penguin-run/PenguinRunGame.ts +406 -0
  1103. package/src/games/penguin-run/PenguinRunScene.ts +949 -0
  1104. package/src/games/perfect-circle/PerfectCircle.tsx +74 -0
  1105. package/src/games/perfect-circle/PerfectCircleConstants.ts +52 -0
  1106. package/src/games/perfect-circle/PerfectCircleGame.ts +153 -0
  1107. package/src/games/perfect-circle/PerfectCircleRules.ts +111 -0
  1108. package/src/games/perfect-circle/PerfectCircleScene.ts +176 -0
  1109. package/src/games/pipe-connect/PipeConnect.tsx +69 -0
  1110. package/src/games/pipe-connect/PipeConnectConstants.ts +101 -0
  1111. package/src/games/pipe-connect/PipeConnectGame.ts +179 -0
  1112. package/src/games/pipe-connect/PipeConnectRules.ts +326 -0
  1113. package/src/games/pipe-connect/PipeConnectScene.ts +271 -0
  1114. package/src/games/play-with-tua/PlayWithTua.tsx +123 -0
  1115. package/src/games/play-with-tua/PlayWithTuaConstants.ts +70 -0
  1116. package/src/games/play-with-tua/PlayWithTuaGame.ts +167 -0
  1117. package/src/games/play-with-tua/PlayWithTuaModel.ts +42 -0
  1118. package/src/games/play-with-tua/PlayWithTuaScene.ts +36 -0
  1119. package/src/games/popit-fidget/PopitFidget.tsx +72 -0
  1120. package/src/games/popit-fidget/PopitFidgetConstants.ts +71 -0
  1121. package/src/games/popit-fidget/PopitFidgetGame.ts +148 -0
  1122. package/src/games/popit-fidget/PopitFidgetScene.ts +242 -0
  1123. package/src/games/reversi/Reversi.tsx +94 -0
  1124. package/src/games/reversi/ReversiConstants.ts +67 -0
  1125. package/src/games/reversi/ReversiGame.ts +266 -0
  1126. package/src/games/reversi/ReversiRules.ts +176 -0
  1127. package/src/games/reversi/ReversiScene.ts +240 -0
  1128. package/src/games/search-grid/SearchGrid.tsx +92 -0
  1129. package/src/games/search-grid/SearchGridConstants.ts +178 -0
  1130. package/src/games/search-grid/SearchGridGame.ts +209 -0
  1131. package/src/games/search-grid/SearchGridScene.ts +301 -0
  1132. package/src/games/shared/BackdropCard.tsx +54 -0
  1133. package/src/games/shared/EngineBackdrop.ts +300 -0
  1134. package/src/games/shared/EngineBlasts.ts +136 -0
  1135. package/src/games/shared/EngineBlocks.ts +91 -0
  1136. package/src/games/shared/EngineControlText.ts +17 -0
  1137. package/src/games/shared/EngineDice.ts +250 -0
  1138. package/src/games/shared/EngineFootprint.ts +35 -0
  1139. package/src/games/shared/EngineFruits.ts +1435 -0
  1140. package/src/games/shared/EngineGameLoader.tsx +88 -0
  1141. package/src/games/shared/EngineGameScreen.tsx +325 -0
  1142. package/src/games/shared/EngineGameWidth.ts +3 -0
  1143. package/src/games/shared/EngineGameWidth.web.ts +3 -0
  1144. package/src/games/shared/EngineGlyphs.ts +178 -0
  1145. package/src/games/shared/EngineHud.ts +815 -0
  1146. package/src/games/shared/EngineLoading.ts +477 -0
  1147. package/src/games/shared/EngineMeadow.ts +725 -0
  1148. package/src/games/shared/EngineMeshCache.ts +15 -0
  1149. package/src/games/shared/EngineMeshes.ts +10 -0
  1150. package/src/games/shared/EngineRacingChase.ts +21 -0
  1151. package/src/games/shared/EngineRacingHandling.ts +48 -0
  1152. package/src/games/shared/EngineReadyContext.ts +4 -0
  1153. package/src/games/shared/EngineTilt.ts +44 -0
  1154. package/src/games/shared/EngineTouchSurface.tsx +103 -0
  1155. package/src/games/shared/EngineUtils.ts +52 -0
  1156. package/src/games/shared/GameActivity.ts +13 -0
  1157. package/src/games/shared/GameLoading.tsx +202 -0
  1158. package/src/games/shared/GameLoadingTransition.tsx +61 -0
  1159. package/src/games/shared/ProceduralCacheVersion.ts +2 -0
  1160. package/src/games/shared/useEngineGame.ts +240 -0
  1161. package/src/games/shared/useGameResource.ts +21 -0
  1162. package/src/games/shared/useLiveState.ts +58 -0
  1163. package/src/games/sliding-numbers/SlidingNumbers.tsx +71 -0
  1164. package/src/games/sliding-numbers/SlidingNumbersConstants.ts +65 -0
  1165. package/src/games/sliding-numbers/SlidingNumbersGame.ts +192 -0
  1166. package/src/games/sliding-numbers/SlidingNumbersRules.ts +79 -0
  1167. package/src/games/sliding-numbers/SlidingNumbersScene.ts +193 -0
  1168. package/src/games/snake-3d/Snake3D.tsx +76 -0
  1169. package/src/games/snake-3d/Snake3DConstants.ts +61 -0
  1170. package/src/games/snake-3d/Snake3DGame.ts +192 -0
  1171. package/src/games/snake-3d/Snake3DMotion.ts +22 -0
  1172. package/src/games/snake-3d/Snake3DRules.ts +116 -0
  1173. package/src/games/snake-3d/Snake3DScene.ts +322 -0
  1174. package/src/games/snakes-and-ladders/SnakesAndLadders.tsx +87 -0
  1175. package/src/games/snakes-and-ladders/SnakesAndLaddersConstants.ts +136 -0
  1176. package/src/games/snakes-and-ladders/SnakesAndLaddersGame.ts +310 -0
  1177. package/src/games/snakes-and-ladders/SnakesAndLaddersScene.ts +515 -0
  1178. package/src/games/space-fighter/SpaceFighter.tsx +74 -0
  1179. package/src/games/space-fighter/SpaceFighterConstants.ts +86 -0
  1180. package/src/games/space-fighter/SpaceFighterGame.ts +292 -0
  1181. package/src/games/space-fighter/SpaceFighterScene.ts +550 -0
  1182. package/src/games/spider-solitaire/SpiderSolitaire.tsx +80 -0
  1183. package/src/games/spider-solitaire/SpiderSolitaireConstants.ts +107 -0
  1184. package/src/games/spider-solitaire/SpiderSolitaireGame.ts +387 -0
  1185. package/src/games/spider-solitaire/SpiderSolitaireRules.ts +123 -0
  1186. package/src/games/spider-solitaire/SpiderSolitaireScene.ts +352 -0
  1187. package/src/games/stack-tower/StackTower.tsx +76 -0
  1188. package/src/games/stack-tower/StackTowerConstants.ts +74 -0
  1189. package/src/games/stack-tower/StackTowerGame.ts +236 -0
  1190. package/src/games/stack-tower/StackTowerScene.ts +186 -0
  1191. package/src/games/sudoku/Sudoku.tsx +73 -0
  1192. package/src/games/sudoku/SudokuConstants.ts +127 -0
  1193. package/src/games/sudoku/SudokuGame.ts +250 -0
  1194. package/src/games/sudoku/SudokuRules.ts +125 -0
  1195. package/src/games/sudoku/SudokuScene.ts +304 -0
  1196. package/src/games/tangram/Tangram.tsx +79 -0
  1197. package/src/games/tangram/TangramConstants.ts +64 -0
  1198. package/src/games/tangram/TangramGame.ts +356 -0
  1199. package/src/games/tangram/TangramRules.ts +409 -0
  1200. package/src/games/tangram/TangramScene.ts +203 -0
  1201. package/src/games/tank-1990/Tank1990.tsx +78 -0
  1202. package/src/games/tank-1990/Tank1990Constants.ts +81 -0
  1203. package/src/games/tank-1990/Tank1990Game.ts +331 -0
  1204. package/src/games/tank-1990/Tank1990Rules.ts +390 -0
  1205. package/src/games/tank-1990/Tank1990Scene.ts +434 -0
  1206. package/src/games/tic-tac-toe/TicTacToe.tsx +98 -0
  1207. package/src/games/tic-tac-toe/TicTacToeConstants.ts +69 -0
  1208. package/src/games/tic-tac-toe/TicTacToeGame.ts +200 -0
  1209. package/src/games/tic-tac-toe/TicTacToeRules.ts +103 -0
  1210. package/src/games/tic-tac-toe/TicTacToeScene.ts +245 -0
  1211. package/src/games/tile-home/TileHome.tsx +92 -0
  1212. package/src/games/tile-home/TileHomeConstants.ts +139 -0
  1213. package/src/games/tile-home/TileHomeGame.ts +435 -0
  1214. package/src/games/tile-home/TileHomeScene.ts +154 -0
  1215. package/src/games/treasure-hunt/TreasureHunt.tsx +206 -0
  1216. package/src/games/treasure-hunt/TreasureHuntConstants.ts +266 -0
  1217. package/src/games/treasure-hunt/TreasureHuntControls.ts +280 -0
  1218. package/src/games/treasure-hunt/TreasureHuntGame.ts +402 -0
  1219. package/src/games/treasure-hunt/TreasureHuntMeshes.ts +422 -0
  1220. package/src/games/treasure-hunt/TreasureHuntModel.ts +506 -0
  1221. package/src/games/treasure-hunt/TreasureHuntRules.ts +1210 -0
  1222. package/src/games/treasure-hunt/TreasureHuntScene.ts +586 -0
  1223. package/src/games/whack-a-mole/WhackAMole.tsx +79 -0
  1224. package/src/games/whack-a-mole/WhackAMoleConstants.ts +94 -0
  1225. package/src/games/whack-a-mole/WhackAMoleGame.ts +233 -0
  1226. package/src/games/whack-a-mole/WhackAMoleScene.ts +349 -0
  1227. package/src/games/word-search/WordSearch.tsx +18 -0
  1228. package/src/games/word-search/WordSearchWords.ts +1642 -0
  1229. package/src/helpers/GamePatternData.ts +120 -0
  1230. package/src/helpers/GameSettingsModal.tsx +384 -0
  1231. package/src/helpers/GameTheme.tsx +37 -0
  1232. package/src/helpers/IconPaths.ts +6 -0
  1233. package/src/helpers/index.ts +2 -0
  1234. package/src/index.tsx +60 -0
  1235. package/src/services/GameAssetLoader.ts +111 -0
  1236. package/src/services/GameAssets.ts +149 -0
  1237. package/src/services/GameLoaders.ts +93 -0
  1238. package/src/services/GamesConstants.ts +193 -0
  1239. package/src/services/GamesMetadata.ts +711 -0
  1240. package/src/services/GamesService.ts +116 -0
  1241. package/src/services/HapticsService.ts +48 -0
  1242. package/src/services/ScoringService.ts +19 -0
  1243. package/src/services/SfxSources.ts +81 -0
  1244. package/src/services/SoundsService.ts +582 -0
  1245. package/src/services/ThemeService.ts +281 -0
  1246. package/src/services/UtilsService.ts +134 -0
  1247. package/src/services/index.ts +6 -0
  1248. package/lib/module/games/arrows/ArrowsService.js +0 -1
  1249. package/lib/module/games/arrows/ArrowsStore.js +0 -1
  1250. package/lib/module/games/arrows/components/ArrowsGrid.js +0 -1
  1251. package/lib/module/games/arrows/components/ScoreBoard.js +0 -1
  1252. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +0 -1
  1253. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +0 -1
  1254. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +0 -1
  1255. package/lib/module/games/balloon-blaster/components/GameArea.js +0 -1
  1256. package/lib/module/games/balloon-blaster/components/GameBackground.js +0 -1
  1257. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +0 -1
  1258. package/lib/module/games/bike-racing/BikeRacingService.js +0 -1
  1259. package/lib/module/games/bike-racing/BikeRacingStore.js +0 -1
  1260. package/lib/module/games/bike-racing/components/BikeComponent.js +0 -1
  1261. package/lib/module/games/bike-racing/components/GameBackground.js +0 -1
  1262. package/lib/module/games/bike-racing/components/ScoreBoard.js +0 -1
  1263. package/lib/module/games/block-blast/BlockBlastService.js +0 -1
  1264. package/lib/module/games/block-blast/BlockBlastStore.js +0 -1
  1265. package/lib/module/games/block-blast/components/BlockPieceComponent.js +0 -1
  1266. package/lib/module/games/block-blast/components/GameArea.js +0 -1
  1267. package/lib/module/games/block-blast/components/GridComponent.js +0 -1
  1268. package/lib/module/games/block-blast/components/ScoreBoard.js +0 -1
  1269. package/lib/module/games/block-breaker/BlockBreakerService.js +0 -1
  1270. package/lib/module/games/block-breaker/BlockBreakerStore.js +0 -1
  1271. package/lib/module/games/block-breaker/components/BlastAnimation.js +0 -1
  1272. package/lib/module/games/block-breaker/components/GameArea.js +0 -1
  1273. package/lib/module/games/block-breaker/components/ScoreBoard.js +0 -1
  1274. package/lib/module/games/bluk/BlukService.js +0 -1
  1275. package/lib/module/games/bluk/BlukStore.js +0 -1
  1276. package/lib/module/games/bluk/components/GameArea.js +0 -1
  1277. package/lib/module/games/bluk/components/GameBackground.js +0 -1
  1278. package/lib/module/games/bluk/components/ScoreBoard.js +0 -1
  1279. package/lib/module/games/bubble-shooter/BubbleShooterService.js +0 -1
  1280. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +0 -1
  1281. package/lib/module/games/bubble-shooter/components/GameArea.js +0 -1
  1282. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +0 -1
  1283. package/lib/module/games/candy-crush/CandyCrushService.js +0 -1
  1284. package/lib/module/games/candy-crush/CandyCrushStore.js +0 -1
  1285. package/lib/module/games/candy-crush/components/CandyItem.js +0 -1
  1286. package/lib/module/games/candy-crush/components/GameGrid.js +0 -1
  1287. package/lib/module/games/candy-crush/components/ScoreBoard.js +0 -1
  1288. package/lib/module/games/car-racing/CarRacingService.js +0 -1
  1289. package/lib/module/games/car-racing/CarRacingStore.js +0 -1
  1290. package/lib/module/games/car-racing/components/CarComponent.js +0 -1
  1291. package/lib/module/games/car-racing/components/GameBackground.js +0 -1
  1292. package/lib/module/games/car-racing/components/ScoreBoard.js +0 -1
  1293. package/lib/module/games/chameleon-run/ChameleonRunService.js +0 -1
  1294. package/lib/module/games/chameleon-run/ChameleonRunStore.js +0 -1
  1295. package/lib/module/games/chameleon-run/components/GameArea.js +0 -1
  1296. package/lib/module/games/chameleon-run/components/GameBackground.js +0 -1
  1297. package/lib/module/games/chameleon-run/components/ScoreBoard.js +0 -1
  1298. package/lib/module/games/checkers/CheckersService.js +0 -1
  1299. package/lib/module/games/checkers/CheckersStore.js +0 -1
  1300. package/lib/module/games/checkers/components/GameBoard.js +0 -1
  1301. package/lib/module/games/checkers/components/ScoreBoard.js +0 -1
  1302. package/lib/module/games/color-switch/ColorSwitchService.js +0 -1
  1303. package/lib/module/games/color-switch/ColorSwitchStore.js +0 -1
  1304. package/lib/module/games/color-switch/components/GameArea.js +0 -1
  1305. package/lib/module/games/color-switch/components/ScoreBoard.js +0 -1
  1306. package/lib/module/games/colors-sort/ColorsSortService.js +0 -1
  1307. package/lib/module/games/colors-sort/ColorsSortStore.js +0 -1
  1308. package/lib/module/games/colors-sort/components/ColorContainer.js +0 -1
  1309. package/lib/module/games/colors-sort/components/ScoreBoard.js +0 -1
  1310. package/lib/module/games/connect-em-all/ConnectEmAllService.js +0 -1
  1311. package/lib/module/games/connect-em-all/ConnectEmAllStore.js +0 -1
  1312. package/lib/module/games/connect-em-all/components/GameBoard.js +0 -1
  1313. package/lib/module/games/connect-em-all/components/ScoreBoard.js +0 -1
  1314. package/lib/module/games/crossy-road/CrossyRoadService.js +0 -1
  1315. package/lib/module/games/crossy-road/CrossyRoadStore.js +0 -1
  1316. package/lib/module/games/crossy-road/components/GameArea.js +0 -1
  1317. package/lib/module/games/crossy-road/components/ScoreBoard.js +0 -1
  1318. package/lib/module/games/dino-jump/DinoJumpService.js +0 -1
  1319. package/lib/module/games/dino-jump/DinoJumpStore.js +0 -1
  1320. package/lib/module/games/dino-jump/components/DinoSprite.js +0 -1
  1321. package/lib/module/games/dino-jump/components/GameArea.js +0 -1
  1322. package/lib/module/games/dino-jump/components/GameBackground.js +0 -1
  1323. package/lib/module/games/dino-jump/components/ObstacleSprite.js +0 -1
  1324. package/lib/module/games/dino-jump/components/ScoreBoard.js +0 -1
  1325. package/lib/module/games/dino-jump/components/StarSprite.js +0 -1
  1326. package/lib/module/games/dots-and-boxes/DotsAndBoxesService.js +0 -1
  1327. package/lib/module/games/dots-and-boxes/DotsAndBoxesStore.js +0 -1
  1328. package/lib/module/games/dots-and-boxes/components/GameBoard.js +0 -1
  1329. package/lib/module/games/dots-and-boxes/components/ScoreBoard.js +0 -1
  1330. package/lib/module/games/falling-sticks/FallingSticksService.js +0 -1
  1331. package/lib/module/games/falling-sticks/FallingSticksStore.js +0 -1
  1332. package/lib/module/games/falling-sticks/components/GameArea.js +0 -1
  1333. package/lib/module/games/falling-sticks/components/GameBackground.js +0 -1
  1334. package/lib/module/games/falling-sticks/components/ScoreBoard.js +0 -1
  1335. package/lib/module/games/find-different-number/FindDifferentNumberService.js +0 -1
  1336. package/lib/module/games/find-different-number/FindDifferentNumberStore.js +0 -1
  1337. package/lib/module/games/find-different-number/components/GameGrid.js +0 -1
  1338. package/lib/module/games/find-different-number/components/ScoreBoard.js +0 -1
  1339. package/lib/module/games/flappy-bird/FlappyBirdStore.js +0 -1
  1340. package/lib/module/games/flappy-bird/components/Bird.js +0 -1
  1341. package/lib/module/games/flappy-bird/components/GameArea.js +0 -1
  1342. package/lib/module/games/flappy-bird/components/GameBackground.js +0 -1
  1343. package/lib/module/games/flappy-bird/components/Pipes.js +0 -1
  1344. package/lib/module/games/flappy-bird/components/ScoreBoard.js +0 -1
  1345. package/lib/module/games/fruit-merger/FruitMergerService.js +0 -1
  1346. package/lib/module/games/fruit-merger/FruitMergerStore.js +0 -1
  1347. package/lib/module/games/fruit-merger/components/FruitItem.js +0 -1
  1348. package/lib/module/games/fruit-merger/components/GameArea.js +0 -1
  1349. package/lib/module/games/fruit-merger/components/ScoreBoard.js +0 -1
  1350. package/lib/module/games/fruit-ninja/FruitNinjaService.js +0 -1
  1351. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +0 -1
  1352. package/lib/module/games/fruit-ninja/components/FruitComponent.js +0 -1
  1353. package/lib/module/games/fruit-ninja/components/GameArea.js +0 -1
  1354. package/lib/module/games/fruit-ninja/components/GameBackground.js +0 -1
  1355. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +0 -1
  1356. package/lib/module/games/game-2048/Game2048Service.js +0 -1
  1357. package/lib/module/games/game-2048/Game2048Store.js +0 -1
  1358. package/lib/module/games/game-2048/components/GameGrid.js +0 -1
  1359. package/lib/module/games/game-2048/components/ScoreBoard.js +0 -1
  1360. package/lib/module/games/knife-hit/KnifeHitService.js +0 -1
  1361. package/lib/module/games/knife-hit/KnifeHitStore.js +0 -1
  1362. package/lib/module/games/knife-hit/components/GameArea.js +0 -1
  1363. package/lib/module/games/knife-hit/components/ScoreBoard.js +0 -1
  1364. package/lib/module/games/ludo-king/LudoKingService.js +0 -1
  1365. package/lib/module/games/ludo-king/LudoKingStore.js +0 -1
  1366. package/lib/module/games/ludo-king/components/Dice.js +0 -1
  1367. package/lib/module/games/ludo-king/components/GameBoard.js +0 -1
  1368. package/lib/module/games/ludo-king/components/ScoreBoard.js +0 -1
  1369. package/lib/module/games/maze-runner/MazeRunnerStore.js +0 -1
  1370. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +0 -1
  1371. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +0 -1
  1372. package/lib/module/games/maze-runner/components/ScoreBoard.js +0 -1
  1373. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +0 -1
  1374. package/lib/module/games/maze-runner/components/WallComponent.js +0 -1
  1375. package/lib/module/games/memory-match/MemoryMatchService.js +0 -1
  1376. package/lib/module/games/memory-match/MemoryMatchStore.js +0 -1
  1377. package/lib/module/games/memory-match/components/Card.js +0 -1
  1378. package/lib/module/games/memory-match/components/GameBoard.js +0 -1
  1379. package/lib/module/games/memory-match/components/ScoreBoard.js +0 -1
  1380. package/lib/module/games/mine-sweeper/MineSweeperService.js +0 -1
  1381. package/lib/module/games/mine-sweeper/MineSweeperStore.js +0 -1
  1382. package/lib/module/games/mine-sweeper/components/GameArea.js +0 -1
  1383. package/lib/module/games/mine-sweeper/components/ScoreBoard.js +0 -1
  1384. package/lib/module/games/mob-control/MobControlService.js +0 -1
  1385. package/lib/module/games/mob-control/MobControlStore.js +0 -1
  1386. package/lib/module/games/mob-control/components/GameArea.js +0 -1
  1387. package/lib/module/games/mob-control/components/ScoreBoard.js +0 -1
  1388. package/lib/module/games/number-search/NumberSearchConstants.js +0 -1
  1389. package/lib/module/games/number-search/NumberSearchService.js +0 -1
  1390. package/lib/module/games/number-search/NumberSearchStore.js +0 -1
  1391. package/lib/module/games/number-search/components/GameBoard.js +0 -1
  1392. package/lib/module/games/number-search/components/NumberList.js +0 -1
  1393. package/lib/module/games/number-search/components/ScoreBoard.js +0 -1
  1394. package/lib/module/games/nuts-and-bolts/NutsAndBoltsService.js +0 -1
  1395. package/lib/module/games/nuts-and-bolts/NutsAndBoltsStore.js +0 -1
  1396. package/lib/module/games/nuts-and-bolts/components/GameBoard.js +0 -1
  1397. package/lib/module/games/nuts-and-bolts/components/ScoreBoard.js +0 -1
  1398. package/lib/module/games/pac-man/PacManService.js +0 -1
  1399. package/lib/module/games/pac-man/PacManStore.js +0 -1
  1400. package/lib/module/games/pac-man/components/GameCanvas.js +0 -1
  1401. package/lib/module/games/pac-man/components/ScoreBoard.js +0 -1
  1402. package/lib/module/games/paper-io/PaperIoService.js +0 -1
  1403. package/lib/module/games/paper-io/PaperIoStore.js +0 -1
  1404. package/lib/module/games/paper-io/components/GameArea.js +0 -1
  1405. package/lib/module/games/paper-io/components/ScoreBoard.js +0 -1
  1406. package/lib/module/games/perfect-circle/PerfectCircleService.js +0 -1
  1407. package/lib/module/games/perfect-circle/PerfectCircleStore.js +0 -1
  1408. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +0 -1
  1409. package/lib/module/games/perfect-circle/components/ScoreBoard.js +0 -1
  1410. package/lib/module/games/pipe-connect/PipeConnectService.js +0 -1
  1411. package/lib/module/games/pipe-connect/PipeConnectStore.js +0 -1
  1412. package/lib/module/games/pipe-connect/components/GameArea.js +0 -1
  1413. package/lib/module/games/pipe-connect/components/ScoreBoard.js +0 -1
  1414. package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -1
  1415. package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -1
  1416. package/lib/module/games/popit-fidget/components/BubbleComponent.js +0 -1
  1417. package/lib/module/games/popit-fidget/components/FidgetGrid.js +0 -1
  1418. package/lib/module/games/popit-fidget/components/ScoreBoard.js +0 -1
  1419. package/lib/module/games/reversi/ReversiStore.js +0 -1
  1420. package/lib/module/games/reversi/components/GameBoard.js +0 -1
  1421. package/lib/module/games/reversi/components/ScoreBoard.js +0 -1
  1422. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +0 -1
  1423. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +0 -1
  1424. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +0 -1
  1425. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +0 -1
  1426. package/lib/module/games/snake-3d/Snake3DService.js +0 -1
  1427. package/lib/module/games/snake-3d/Snake3DStore.js +0 -1
  1428. package/lib/module/games/snake-3d/components/GameGrid.js +0 -1
  1429. package/lib/module/games/snake-3d/components/ScoreBoard.js +0 -1
  1430. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersService.js +0 -1
  1431. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersStore.js +0 -1
  1432. package/lib/module/games/snakes-and-ladders/components/Dice.js +0 -1
  1433. package/lib/module/games/snakes-and-ladders/components/GameBoard.js +0 -1
  1434. package/lib/module/games/snakes-and-ladders/components/ScoreBoard.js +0 -1
  1435. package/lib/module/games/space-fighter/SpaceFighterService.js +0 -1
  1436. package/lib/module/games/space-fighter/SpaceFighterStore.js +0 -1
  1437. package/lib/module/games/space-fighter/components/AsteroidComponent.js +0 -1
  1438. package/lib/module/games/space-fighter/components/GameArea.js +0 -1
  1439. package/lib/module/games/space-fighter/components/GameBackground.js +0 -1
  1440. package/lib/module/games/space-fighter/components/ScoreBoard.js +0 -1
  1441. package/lib/module/games/space-fighter/components/Spacecraft3D.js +0 -1
  1442. package/lib/module/games/space-fighter/components/SpacecraftPath.js +0 -1
  1443. package/lib/module/games/spider-solitaire/SpiderSolitaireService.js +0 -1
  1444. package/lib/module/games/spider-solitaire/SpiderSolitaireStore.js +0 -1
  1445. package/lib/module/games/spider-solitaire/components/Card.js +0 -1
  1446. package/lib/module/games/spider-solitaire/components/CardPile.js +0 -1
  1447. package/lib/module/games/spider-solitaire/components/ScoreBoard.js +0 -1
  1448. package/lib/module/games/stack-tower/StackTowerService.js +0 -1
  1449. package/lib/module/games/stack-tower/StackTowerStore.js +0 -1
  1450. package/lib/module/games/stack-tower/components/GameArea.js +0 -1
  1451. package/lib/module/games/stack-tower/components/ScoreBoard.js +0 -1
  1452. package/lib/module/games/sudoku/SudokuService.js +0 -1
  1453. package/lib/module/games/sudoku/SudokuStore.js +0 -1
  1454. package/lib/module/games/sudoku/components/GameArea.js +0 -1
  1455. package/lib/module/games/sudoku/components/ScoreBoard.js +0 -1
  1456. package/lib/module/games/tangram/TangramService.js +0 -1
  1457. package/lib/module/games/tangram/TangramStore.js +0 -1
  1458. package/lib/module/games/tangram/components/GameBoard.js +0 -1
  1459. package/lib/module/games/tangram/components/ScoreBoard.js +0 -1
  1460. package/lib/module/games/tank-1990/Tank1990Service.js +0 -1
  1461. package/lib/module/games/tank-1990/Tank1990Store.js +0 -1
  1462. package/lib/module/games/tank-1990/components/Controls.js +0 -1
  1463. package/lib/module/games/tank-1990/components/GameBoard.js +0 -1
  1464. package/lib/module/games/tank-1990/components/ScoreBoard.js +0 -1
  1465. package/lib/module/games/tic-tac-toe/TicTacToeService.js +0 -1
  1466. package/lib/module/games/tic-tac-toe/TicTacToeStore.js +0 -1
  1467. package/lib/module/games/tic-tac-toe/components/GameBoard.js +0 -1
  1468. package/lib/module/games/tic-tac-toe/components/ScoreBoard.js +0 -1
  1469. package/lib/module/games/tile-home/TileHomeService.js +0 -1
  1470. package/lib/module/games/tile-home/TileHomeStore.js +0 -1
  1471. package/lib/module/games/tile-home/components/AnimatingTile.js +0 -1
  1472. package/lib/module/games/tile-home/components/FlyingTile.js +0 -1
  1473. package/lib/module/games/tile-home/components/GameBoard.js +0 -1
  1474. package/lib/module/games/tile-home/components/ScoreBoard.js +0 -1
  1475. package/lib/module/games/tile-home/components/TileItem.js +0 -1
  1476. package/lib/module/games/tile-home/components/TileSlot.js +0 -1
  1477. package/lib/module/games/whack-a-mole/WhackAMoleService.js +0 -1
  1478. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +0 -1
  1479. package/lib/module/games/whack-a-mole/components/GameBackground.js +0 -1
  1480. package/lib/module/games/whack-a-mole/components/GameGrid.js +0 -1
  1481. package/lib/module/games/whack-a-mole/components/GameHole.js +0 -1
  1482. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +0 -1
  1483. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +0 -1
  1484. package/lib/module/games/word-search/WordSearchConstants.js +0 -1
  1485. package/lib/module/games/word-search/WordSearchService.js +0 -1
  1486. package/lib/module/games/word-search/WordSearchStore.js +0 -1
  1487. package/lib/module/games/word-search/components/GameBoard.js +0 -1
  1488. package/lib/module/games/word-search/components/ScoreBoard.js +0 -1
  1489. package/lib/module/games/word-search/components/WordList.js +0 -1
  1490. package/lib/module/helpers/AnimatedScore.js +0 -1
  1491. package/lib/module/helpers/AnimationFrame.js +0 -1
  1492. package/lib/module/helpers/AnimationTracker.js +0 -1
  1493. package/lib/module/helpers/BlastAnimation.js +0 -1
  1494. package/lib/module/helpers/ErrorHandler.js +0 -1
  1495. package/lib/module/helpers/GameBackgroundPattern.js +0 -1
  1496. package/lib/module/helpers/GameControlButton.js +0 -1
  1497. package/lib/module/helpers/GameOverModal.js +0 -1
  1498. package/lib/module/helpers/GameTimer.js +0 -1
  1499. package/lib/module/helpers/Icons.js +0 -1
  1500. package/lib/module/helpers/ParticleBlast.js +0 -1
  1501. package/lib/module/helpers/ScoreBoardContainer.js +0 -1
  1502. package/lib/module/helpers/assets/apple-fruit.js +0 -1
  1503. package/lib/module/helpers/assets/avocado-item.js +0 -1
  1504. package/lib/module/helpers/assets/banana-fruit.js +0 -1
  1505. package/lib/module/helpers/assets/bomb-item.js +0 -1
  1506. package/lib/module/helpers/assets/broccoli-item.js +0 -1
  1507. package/lib/module/helpers/assets/cherries-fruit.js +0 -1
  1508. package/lib/module/helpers/assets/donut-item.js +0 -1
  1509. package/lib/module/helpers/assets/dragonfruit-item.js +0 -1
  1510. package/lib/module/helpers/assets/fries-item.js +0 -1
  1511. package/lib/module/helpers/assets/fruit-helpers.js +0 -1
  1512. package/lib/module/helpers/assets/grapes-fruit.js +0 -1
  1513. package/lib/module/helpers/assets/icecream-item.js +0 -1
  1514. package/lib/module/helpers/assets/index.js +0 -1
  1515. package/lib/module/helpers/assets/kiwi-fruit.js +0 -1
  1516. package/lib/module/helpers/assets/mango-fruit.js +0 -1
  1517. package/lib/module/helpers/assets/orange-fruit.js +0 -1
  1518. package/lib/module/helpers/assets/papaya-fruit.js +0 -1
  1519. package/lib/module/helpers/assets/papaya-full-fruit.js +0 -1
  1520. package/lib/module/helpers/assets/peach-fruit.js +0 -1
  1521. package/lib/module/helpers/assets/pineapple-fruit.js +0 -1
  1522. package/lib/module/helpers/assets/pomegranate-fruit.js +0 -1
  1523. package/lib/module/helpers/assets/pumpkin-fruit.js +0 -1
  1524. package/lib/module/helpers/assets/raspberry-item.js +0 -1
  1525. package/lib/module/helpers/assets/star-item.js +0 -1
  1526. package/lib/module/helpers/assets/strawberry-fruit.js +0 -1
  1527. package/lib/module/helpers/assets/watermelon-fruit.js +0 -1
  1528. package/lib/module/types.d.js +0 -1
  1529. package/lib/typescript/src/games/arrows/ArrowsService.d.ts +0 -6
  1530. package/lib/typescript/src/games/arrows/ArrowsStore.d.ts +0 -51
  1531. package/lib/typescript/src/games/arrows/components/ArrowsGrid.d.ts +0 -13
  1532. package/lib/typescript/src/games/arrows/components/ScoreBoard.d.ts +0 -6
  1533. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -80
  1534. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +0 -30
  1535. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +0 -9
  1536. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +0 -9
  1537. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +0 -7
  1538. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +0 -6
  1539. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +0 -44
  1540. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +0 -68
  1541. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +0 -12
  1542. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +0 -7
  1543. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +0 -6
  1544. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +0 -16
  1545. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +0 -70
  1546. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +0 -11
  1547. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +0 -11
  1548. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +0 -8
  1549. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +0 -6
  1550. package/lib/typescript/src/games/block-breaker/BlockBreakerService.d.ts +0 -88
  1551. package/lib/typescript/src/games/block-breaker/BlockBreakerStore.d.ts +0 -47
  1552. package/lib/typescript/src/games/block-breaker/components/BlastAnimation.d.ts +0 -15
  1553. package/lib/typescript/src/games/block-breaker/components/GameArea.d.ts +0 -8
  1554. package/lib/typescript/src/games/block-breaker/components/ScoreBoard.d.ts +0 -6
  1555. package/lib/typescript/src/games/bluk/BlukService.d.ts +0 -71
  1556. package/lib/typescript/src/games/bluk/BlukStore.d.ts +0 -52
  1557. package/lib/typescript/src/games/bluk/components/GameArea.d.ts +0 -17
  1558. package/lib/typescript/src/games/bluk/components/GameBackground.d.ts +0 -9
  1559. package/lib/typescript/src/games/bluk/components/ScoreBoard.d.ts +0 -6
  1560. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +0 -35
  1561. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +0 -63
  1562. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +0 -8
  1563. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +0 -6
  1564. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +0 -37
  1565. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +0 -53
  1566. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +0 -11
  1567. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +0 -2
  1568. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +0 -5
  1569. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +0 -44
  1570. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +0 -68
  1571. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -12
  1572. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +0 -7
  1573. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +0 -6
  1574. package/lib/typescript/src/games/chameleon-run/ChameleonRunService.d.ts +0 -76
  1575. package/lib/typescript/src/games/chameleon-run/ChameleonRunStore.d.ts +0 -48
  1576. package/lib/typescript/src/games/chameleon-run/components/GameArea.d.ts +0 -8
  1577. package/lib/typescript/src/games/chameleon-run/components/GameBackground.d.ts +0 -7
  1578. package/lib/typescript/src/games/chameleon-run/components/ScoreBoard.d.ts +0 -6
  1579. package/lib/typescript/src/games/checkers/CheckersService.d.ts +0 -6
  1580. package/lib/typescript/src/games/checkers/CheckersStore.d.ts +0 -48
  1581. package/lib/typescript/src/games/checkers/components/GameBoard.d.ts +0 -6
  1582. package/lib/typescript/src/games/checkers/components/ScoreBoard.d.ts +0 -6
  1583. package/lib/typescript/src/games/color-switch/ColorSwitchService.d.ts +0 -63
  1584. package/lib/typescript/src/games/color-switch/ColorSwitchStore.d.ts +0 -43
  1585. package/lib/typescript/src/games/color-switch/components/GameArea.d.ts +0 -8
  1586. package/lib/typescript/src/games/color-switch/components/ScoreBoard.d.ts +0 -6
  1587. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +0 -61
  1588. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +0 -56
  1589. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +0 -7
  1590. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +0 -6
  1591. package/lib/typescript/src/games/connect-em-all/ConnectEmAllService.d.ts +0 -20
  1592. package/lib/typescript/src/games/connect-em-all/ConnectEmAllStore.d.ts +0 -48
  1593. package/lib/typescript/src/games/connect-em-all/components/GameBoard.d.ts +0 -7
  1594. package/lib/typescript/src/games/connect-em-all/components/ScoreBoard.d.ts +0 -6
  1595. package/lib/typescript/src/games/crossy-road/CrossyRoadService.d.ts +0 -89
  1596. package/lib/typescript/src/games/crossy-road/CrossyRoadStore.d.ts +0 -39
  1597. package/lib/typescript/src/games/crossy-road/components/GameArea.d.ts +0 -8
  1598. package/lib/typescript/src/games/crossy-road/components/ScoreBoard.d.ts +0 -6
  1599. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +0 -39
  1600. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +0 -97
  1601. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +0 -2
  1602. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +0 -7
  1603. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +0 -7
  1604. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +0 -8
  1605. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +0 -6
  1606. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +0 -2
  1607. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesService.d.ts +0 -45
  1608. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesStore.d.ts +0 -37
  1609. package/lib/typescript/src/games/dots-and-boxes/components/GameBoard.d.ts +0 -7
  1610. package/lib/typescript/src/games/dots-and-boxes/components/ScoreBoard.d.ts +0 -6
  1611. package/lib/typescript/src/games/falling-sticks/FallingSticksService.d.ts +0 -38
  1612. package/lib/typescript/src/games/falling-sticks/FallingSticksStore.d.ts +0 -31
  1613. package/lib/typescript/src/games/falling-sticks/components/GameArea.d.ts +0 -7
  1614. package/lib/typescript/src/games/falling-sticks/components/GameBackground.d.ts +0 -6
  1615. package/lib/typescript/src/games/falling-sticks/components/ScoreBoard.d.ts +0 -6
  1616. package/lib/typescript/src/games/find-different-number/FindDifferentNumberService.d.ts +0 -6
  1617. package/lib/typescript/src/games/find-different-number/FindDifferentNumberStore.d.ts +0 -36
  1618. package/lib/typescript/src/games/find-different-number/components/GameGrid.d.ts +0 -7
  1619. package/lib/typescript/src/games/find-different-number/components/ScoreBoard.d.ts +0 -6
  1620. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +0 -68
  1621. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +0 -2
  1622. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +0 -7
  1623. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +0 -7
  1624. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +0 -8
  1625. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +0 -6
  1626. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +0 -3
  1627. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +0 -66
  1628. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +0 -8
  1629. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +0 -8
  1630. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +0 -6
  1631. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +0 -73
  1632. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -38
  1633. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -8
  1634. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +0 -7
  1635. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +0 -7
  1636. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +0 -6
  1637. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +0 -102
  1638. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +0 -44
  1639. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +0 -2
  1640. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +0 -6
  1641. package/lib/typescript/src/games/knife-hit/KnifeHitService.d.ts +0 -48
  1642. package/lib/typescript/src/games/knife-hit/KnifeHitStore.d.ts +0 -41
  1643. package/lib/typescript/src/games/knife-hit/components/GameArea.d.ts +0 -8
  1644. package/lib/typescript/src/games/knife-hit/components/ScoreBoard.d.ts +0 -6
  1645. package/lib/typescript/src/games/ludo-king/LudoKingService.d.ts +0 -33
  1646. package/lib/typescript/src/games/ludo-king/LudoKingStore.d.ts +0 -34
  1647. package/lib/typescript/src/games/ludo-king/components/Dice.d.ts +0 -7
  1648. package/lib/typescript/src/games/ludo-king/components/GameBoard.d.ts +0 -7
  1649. package/lib/typescript/src/games/ludo-king/components/ScoreBoard.d.ts +0 -6
  1650. package/lib/typescript/src/games/maze-runner/MazeRunnerStore.d.ts +0 -62
  1651. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +0 -10
  1652. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +0 -33
  1653. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +0 -24
  1654. package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +0 -24
  1655. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +0 -9
  1656. package/lib/typescript/src/games/memory-match/MemoryMatchService.d.ts +0 -6
  1657. package/lib/typescript/src/games/memory-match/MemoryMatchStore.d.ts +0 -42
  1658. package/lib/typescript/src/games/memory-match/components/Card.d.ts +0 -6
  1659. package/lib/typescript/src/games/memory-match/components/GameBoard.d.ts +0 -6
  1660. package/lib/typescript/src/games/memory-match/components/ScoreBoard.d.ts +0 -6
  1661. package/lib/typescript/src/games/mine-sweeper/MineSweeperService.d.ts +0 -22
  1662. package/lib/typescript/src/games/mine-sweeper/MineSweeperStore.d.ts +0 -73
  1663. package/lib/typescript/src/games/mine-sweeper/components/GameArea.d.ts +0 -8
  1664. package/lib/typescript/src/games/mine-sweeper/components/ScoreBoard.d.ts +0 -6
  1665. package/lib/typescript/src/games/mob-control/MobControlService.d.ts +0 -74
  1666. package/lib/typescript/src/games/mob-control/MobControlStore.d.ts +0 -66
  1667. package/lib/typescript/src/games/mob-control/components/GameArea.d.ts +0 -11
  1668. package/lib/typescript/src/games/mob-control/components/ScoreBoard.d.ts +0 -6
  1669. package/lib/typescript/src/games/number-search/NumberSearchConstants.d.ts +0 -63
  1670. package/lib/typescript/src/games/number-search/NumberSearchService.d.ts +0 -34
  1671. package/lib/typescript/src/games/number-search/NumberSearchStore.d.ts +0 -70
  1672. package/lib/typescript/src/games/number-search/components/GameBoard.d.ts +0 -7
  1673. package/lib/typescript/src/games/number-search/components/NumberList.d.ts +0 -2
  1674. package/lib/typescript/src/games/number-search/components/ScoreBoard.d.ts +0 -6
  1675. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsService.d.ts +0 -67
  1676. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsStore.d.ts +0 -45
  1677. package/lib/typescript/src/games/nuts-and-bolts/components/GameBoard.d.ts +0 -7
  1678. package/lib/typescript/src/games/nuts-and-bolts/components/ScoreBoard.d.ts +0 -6
  1679. package/lib/typescript/src/games/pac-man/PacManService.d.ts +0 -73
  1680. package/lib/typescript/src/games/pac-man/PacManStore.d.ts +0 -89
  1681. package/lib/typescript/src/games/pac-man/components/GameCanvas.d.ts +0 -2
  1682. package/lib/typescript/src/games/pac-man/components/ScoreBoard.d.ts +0 -6
  1683. package/lib/typescript/src/games/paper-io/PaperIoService.d.ts +0 -70
  1684. package/lib/typescript/src/games/paper-io/PaperIoStore.d.ts +0 -51
  1685. package/lib/typescript/src/games/paper-io/components/GameArea.d.ts +0 -8
  1686. package/lib/typescript/src/games/paper-io/components/ScoreBoard.d.ts +0 -6
  1687. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +0 -15
  1688. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +0 -55
  1689. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +0 -8
  1690. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +0 -6
  1691. package/lib/typescript/src/games/pipe-connect/PipeConnectService.d.ts +0 -17
  1692. package/lib/typescript/src/games/pipe-connect/PipeConnectStore.d.ts +0 -31
  1693. package/lib/typescript/src/games/pipe-connect/components/GameArea.d.ts +0 -7
  1694. package/lib/typescript/src/games/pipe-connect/components/ScoreBoard.d.ts +0 -6
  1695. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -30
  1696. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +0 -33
  1697. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +0 -10
  1698. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +0 -10
  1699. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +0 -6
  1700. package/lib/typescript/src/games/reversi/ReversiStore.d.ts +0 -46
  1701. package/lib/typescript/src/games/reversi/components/GameBoard.d.ts +0 -6
  1702. package/lib/typescript/src/games/reversi/components/ScoreBoard.d.ts +0 -6
  1703. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +0 -6
  1704. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +0 -38
  1705. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +0 -7
  1706. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +0 -6
  1707. package/lib/typescript/src/games/snake-3d/Snake3DService.d.ts +0 -29
  1708. package/lib/typescript/src/games/snake-3d/Snake3DStore.d.ts +0 -49
  1709. package/lib/typescript/src/games/snake-3d/components/GameGrid.d.ts +0 -2
  1710. package/lib/typescript/src/games/snake-3d/components/ScoreBoard.d.ts +0 -6
  1711. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersService.d.ts +0 -22
  1712. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersStore.d.ts +0 -40
  1713. package/lib/typescript/src/games/snakes-and-ladders/components/Dice.d.ts +0 -7
  1714. package/lib/typescript/src/games/snakes-and-ladders/components/GameBoard.d.ts +0 -2
  1715. package/lib/typescript/src/games/snakes-and-ladders/components/ScoreBoard.d.ts +0 -6
  1716. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts +0 -117
  1717. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +0 -54
  1718. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -9
  1719. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +0 -9
  1720. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts +0 -6
  1721. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +0 -6
  1722. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts +0 -11
  1723. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts +0 -9
  1724. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireService.d.ts +0 -23
  1725. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireStore.d.ts +0 -71
  1726. package/lib/typescript/src/games/spider-solitaire/components/Card.d.ts +0 -10
  1727. package/lib/typescript/src/games/spider-solitaire/components/CardPile.d.ts +0 -12
  1728. package/lib/typescript/src/games/spider-solitaire/components/ScoreBoard.d.ts +0 -6
  1729. package/lib/typescript/src/games/stack-tower/StackTowerService.d.ts +0 -51
  1730. package/lib/typescript/src/games/stack-tower/StackTowerStore.d.ts +0 -52
  1731. package/lib/typescript/src/games/stack-tower/components/GameArea.d.ts +0 -8
  1732. package/lib/typescript/src/games/stack-tower/components/ScoreBoard.d.ts +0 -6
  1733. package/lib/typescript/src/games/sudoku/SudokuService.d.ts +0 -24
  1734. package/lib/typescript/src/games/sudoku/SudokuStore.d.ts +0 -65
  1735. package/lib/typescript/src/games/sudoku/components/GameArea.d.ts +0 -8
  1736. package/lib/typescript/src/games/sudoku/components/ScoreBoard.d.ts +0 -6
  1737. package/lib/typescript/src/games/tangram/TangramService.d.ts +0 -6
  1738. package/lib/typescript/src/games/tangram/TangramStore.d.ts +0 -34
  1739. package/lib/typescript/src/games/tangram/components/GameBoard.d.ts +0 -7
  1740. package/lib/typescript/src/games/tangram/components/ScoreBoard.d.ts +0 -6
  1741. package/lib/typescript/src/games/tank-1990/Tank1990Service.d.ts +0 -80
  1742. package/lib/typescript/src/games/tank-1990/Tank1990Store.d.ts +0 -48
  1743. package/lib/typescript/src/games/tank-1990/components/Controls.d.ts +0 -2
  1744. package/lib/typescript/src/games/tank-1990/components/GameBoard.d.ts +0 -2
  1745. package/lib/typescript/src/games/tank-1990/components/ScoreBoard.d.ts +0 -6
  1746. package/lib/typescript/src/games/tic-tac-toe/TicTacToeService.d.ts +0 -0
  1747. package/lib/typescript/src/games/tic-tac-toe/TicTacToeStore.d.ts +0 -51
  1748. package/lib/typescript/src/games/tic-tac-toe/components/GameBoard.d.ts +0 -6
  1749. package/lib/typescript/src/games/tic-tac-toe/components/ScoreBoard.d.ts +0 -6
  1750. package/lib/typescript/src/games/tile-home/TileHomeService.d.ts +0 -1
  1751. package/lib/typescript/src/games/tile-home/TileHomeStore.d.ts +0 -57
  1752. package/lib/typescript/src/games/tile-home/components/AnimatingTile.d.ts +0 -9
  1753. package/lib/typescript/src/games/tile-home/components/FlyingTile.d.ts +0 -16
  1754. package/lib/typescript/src/games/tile-home/components/GameBoard.d.ts +0 -7
  1755. package/lib/typescript/src/games/tile-home/components/ScoreBoard.d.ts +0 -6
  1756. package/lib/typescript/src/games/tile-home/components/TileItem.d.ts +0 -11
  1757. package/lib/typescript/src/games/tile-home/components/TileSlot.d.ts +0 -7
  1758. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +0 -32
  1759. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +0 -39
  1760. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +0 -7
  1761. package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts +0 -10
  1762. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts +0 -11
  1763. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +0 -6
  1764. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +0 -6
  1765. package/lib/typescript/src/games/word-search/WordSearchConstants.d.ts +0 -63
  1766. package/lib/typescript/src/games/word-search/WordSearchService.d.ts +0 -34
  1767. package/lib/typescript/src/games/word-search/WordSearchStore.d.ts +0 -70
  1768. package/lib/typescript/src/games/word-search/components/GameBoard.d.ts +0 -7
  1769. package/lib/typescript/src/games/word-search/components/ScoreBoard.d.ts +0 -6
  1770. package/lib/typescript/src/games/word-search/components/WordList.d.ts +0 -2
  1771. package/lib/typescript/src/helpers/AnimatedScore.d.ts +0 -36
  1772. package/lib/typescript/src/helpers/AnimationFrame.d.ts +0 -40
  1773. package/lib/typescript/src/helpers/AnimationTracker.d.ts +0 -44
  1774. package/lib/typescript/src/helpers/BlastAnimation.d.ts +0 -16
  1775. package/lib/typescript/src/helpers/ErrorHandler.d.ts +0 -123
  1776. package/lib/typescript/src/helpers/GameBackgroundPattern.d.ts +0 -7
  1777. package/lib/typescript/src/helpers/GameControlButton.d.ts +0 -11
  1778. package/lib/typescript/src/helpers/GameOverModal.d.ts +0 -15
  1779. package/lib/typescript/src/helpers/GameTimer.d.ts +0 -26
  1780. package/lib/typescript/src/helpers/Icons.d.ts +0 -12
  1781. package/lib/typescript/src/helpers/ParticleBlast.d.ts +0 -11
  1782. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +0 -85
  1783. package/lib/typescript/src/helpers/assets/apple-fruit.d.ts +0 -4
  1784. package/lib/typescript/src/helpers/assets/avocado-item.d.ts +0 -4
  1785. package/lib/typescript/src/helpers/assets/banana-fruit.d.ts +0 -4
  1786. package/lib/typescript/src/helpers/assets/bomb-item.d.ts +0 -4
  1787. package/lib/typescript/src/helpers/assets/broccoli-item.d.ts +0 -4
  1788. package/lib/typescript/src/helpers/assets/cherries-fruit.d.ts +0 -4
  1789. package/lib/typescript/src/helpers/assets/donut-item.d.ts +0 -4
  1790. package/lib/typescript/src/helpers/assets/dragonfruit-item.d.ts +0 -4
  1791. package/lib/typescript/src/helpers/assets/fries-item.d.ts +0 -4
  1792. package/lib/typescript/src/helpers/assets/fruit-helpers.d.ts +0 -154
  1793. package/lib/typescript/src/helpers/assets/grapes-fruit.d.ts +0 -4
  1794. package/lib/typescript/src/helpers/assets/icecream-item.d.ts +0 -4
  1795. package/lib/typescript/src/helpers/assets/index.d.ts +0 -31
  1796. package/lib/typescript/src/helpers/assets/kiwi-fruit.d.ts +0 -4
  1797. package/lib/typescript/src/helpers/assets/mango-fruit.d.ts +0 -4
  1798. package/lib/typescript/src/helpers/assets/orange-fruit.d.ts +0 -4
  1799. package/lib/typescript/src/helpers/assets/papaya-fruit.d.ts +0 -4
  1800. package/lib/typescript/src/helpers/assets/papaya-full-fruit.d.ts +0 -4
  1801. package/lib/typescript/src/helpers/assets/peach-fruit.d.ts +0 -4
  1802. package/lib/typescript/src/helpers/assets/pineapple-fruit.d.ts +0 -4
  1803. package/lib/typescript/src/helpers/assets/pomegranate-fruit.d.ts +0 -4
  1804. package/lib/typescript/src/helpers/assets/pumpkin-fruit.d.ts +0 -4
  1805. package/lib/typescript/src/helpers/assets/raspberry-item.d.ts +0 -4
  1806. package/lib/typescript/src/helpers/assets/star-item.d.ts +0 -4
  1807. package/lib/typescript/src/helpers/assets/strawberry-fruit.d.ts +0 -4
  1808. package/lib/typescript/src/helpers/assets/watermelon-fruit.d.ts +0 -4
@@ -1 +0,0 @@
1
- "use strict";const _0x26a902=_0x138b;function _0x138b(t,n){t-=342;const o=_0x43e7();let r=o[t];if(void 0===_0x138b.obDdLI){const t=function(t,n){let o,r,e=[],W=0,d="";for(t=function(t){let n="",o="";for(let o,r,e=0,W=0;r=t.charAt(W++);~r&&(o=e%4?64*o+r:r,e++%4)?n+=String.fromCharCode(255&o>>(-2*e&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let t=0,r=n.length;t<r;t++)o+="%"+("00"+n.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(o)}(t),r=0;r<256;r++)e[r]=r;for(r=0;r<256;r++)W=(W+e[r]+n.charCodeAt(r%n.length))%256,o=e[r],e[r]=e[W],e[W]=o;r=0,W=0;for(let n=0;n<t.length;n++)r=(r+1)%256,W=(W+e[r])%256,o=e[r],e[r]=e[W],e[W]=o,d+=String.fromCharCode(t.charCodeAt(n)^e[(e[r]+e[W])%256]);return d};_0x138b.kDCGSy=t,_0x138b.rdcUaL={},_0x138b.obDdLI=!0}const e=o[0];_0x138b.pZLIWs!==e&&(_0x138b.rdcUaL={},_0x138b.pZLIWs=e);const W=_0x138b.rdcUaL[t];return void 0===W?(void 0===_0x138b.PgbOiD&&(_0x138b.PgbOiD=!0),r=_0x138b.kDCGSy(r,n),_0x138b.rdcUaL[t]=r):r=W,r}function _0x43e7(){const t=["W7xdHmkcxqhdLHdcNctdJgxcN8ox","WO4uW6bZomk6mmotW7HjWRVdHmkyCSogsNJcSWFcVWNcQau","W4VdQuSQqIb9DW","ocqmWRddVG","smo9vCoWWQKIWRK","WOhcRKD+lCouza","WRVcGLZcNCkW","u8klW6Lqja","WO/dKLyVsMmwhra","rbJcImo/Fcvrs8kIjeZdQd8","rmoSW43dJuq","bLVdICk6","WPCsnCkPaSo8q8opWPdcNhdcOulcH2tcNSkZWOD6WRpcO8k7W7a","ySo+D8ofbq","mc5szSk/W4hdGxVdUCowW7FcHCkS","W6VdVb/dJmksE8kbW4m","qSkOW6BcNmow","WQi7nCkaea","cSojqW","Dby/WPtcUGuiiW","WR3cGmo7WPHe","W5uYW7pdUwO","WOFcLH58W4BdI8oQ","bauhDqNcLSkd","FXyLWQdcUGW","ow0hbmoh","nuhdILVdTW","eCktEZldIG","WOxdNCk0W4KjW4jGWQdcSaFdGW","s8k+W4Lydq","W69Nk8obxCobW6rZAHHKW5m","WPmwlCkza8oXvSoE","W5tdSIhdPCkX","WQ7cTg0","mwCUomok","h1pcGJhdSW","CHe4","jMRcIapdHq","eKmv","W6NcV8kA","WR/dNwzcW4O0W4hdLSku","WRtdLwO","y8orymoTfG","W4JdQCkEaCki","ovddImkGmq","WRSzdCkBmG","WRldQSkVeCoicWNdLwxdOmkeW5S","u8kBoSkzWOq","W7xdLmkewbu","hxJdOCkryG","WRxdKxXMW5CU","W6u/WReRvG","AColW6BdISkU","WQFcKLVcICke","WPCsnCkPaSo8q8opWPdcNNFcTftcH2dcRCktWOT5WQtcSmk5W67dQa","Fb0kWQtcRreoj1pcLvLeWQrsW4/dRYxcMKtdIa","wmkJW6W","W4tdOSkGrIm","dIPtzmk7","he4iimoYaM0","CNJcO2uXoa","W5xdV1vj","W7tcIXxdGKG","pvpcPJxdOmkLW7pdT8kU","d0BcIIxdJa","W4tdISkJc8kI","WPtdVvXEW7mjW6VdTmkLWOe","aguDb8oC","ySowWOFcSKpcHmo+Df1+WOO","W74bW6VdJK8","meG5emoz","W47dG2H5qW","WPddQmkAW4yV","W5FcRmoEvmkA","wmo8bKlcLg/cSSoaWP9pmtC","WP3dN08qrG","d03dMmkCrfRcL2JcPGVdR8ozW6FdVmksExRdMCkMWOVdMSoSW4OM","W7JdNSkMW4TY","W5pdLCkOASobWQWsyq","sfxcOuGI","W4VdTCkaBCol","WPNdKfyXs0udfthdQHW7xhK6","oWy2WRtdKmokW4FdGq","CdXJv8k3AfxcOgJdTmkuBLK","dfmFnq","ewuyCSoGsSoTW5VcOmoMWPxdMSoH","vSkVW6ZcSmohaSk8","W4pdSCko","W41lyCo8qCkMemo4WPlcVxVcGKO","iKlcQsddOmkk","vLqQjCoD","iuNcHItdT8kxW6ddU8kOW5CAEHZdPcFcH8kUhNPM","xr7cH8oobGddGxxcTWxdJSorW7G","jxyXeSoQda7cS1FdTmke","W5tdQ1ryzHVcVhVcHq","r8ovW5pdTCoz","WQW+E8kBgmkk","C3ZcVq","WQvyW5n0pCo7xZSqpSoUl0C","AYC8qrC","mYHzEmk9mrBcGCoNW6xdGCkEW4ldISon","W4FcGmoZWRPzWPuHWQJcGbddMwvF","rSo7W5NdLfS","WPBdNKzqW6y","W6NdUCkbqdu"];return(_0x43e7=function(){return t})()}!function(){const t=_0x138b,n=_0x43e7();for(;;)try{if(244310==parseInt(t(409,"Jz5w"))/1*(-parseInt(t(417,"BhS2"))/2)+-parseInt(t(396,"Vl3q"))/3+-parseInt(t(367,"SFhb"))/4+-parseInt(t(401,"kQhN"))/5+parseInt(t(433,"$]%I"))/6*(parseInt(t(410,"ifMn"))/7)+parseInt(t(365,"*z@7"))/8+parseInt(t(370,"p%Z^"))/9)break;n.push(n.shift())}catch(t){n.push(n.shift())}}();import{usePerfectCircleStore}from"./PerfectCircleStore.js";import{PERFECT_CIRCLE_GAME_CONFIG}from"./PerfectCircleConstants.js";import{getGameDimensions}from"../../services/UtilsService.js";const{width:screenWidth,height:screenHeight}=getGameDimensions(),GUIDE_CIRCLE_RADIUS=screenWidth/2-PERFECT_CIRCLE_GAME_CONFIG.GUIDE_CIRCLE_RADIUS_OFFSET;export class PerfectCircleService{constructor(){}setCallbacks(t){this[_0x138b(442,"&vJX")]=t}[_0x26a902(345,"DgW*")](){const t=_0x26a902;usePerfectCircleStore[t(364,"kS[0")]()[t(395,"eu*Q")]()}[_0x26a902(360,"imWJ")](){const t=_0x26a902;usePerfectCircleStore[t(406,"&vJX")]()[t(389,"PV2]")]()}[_0x26a902(376,"mCQ$")](){usePerfectCircleStore[_0x26a902(402,"1f3m")]().resetGame()}[_0x26a902(446,"!z*n")](){}[_0x26a902(427,"PgO9")](t){const n="PgO9",o=_0x26a902,r={};r[o(439,"J2(i")]=function(t,n){return t*n},r[o(359,"%56v")]=function(t,n){return t-n},r.dGNWZ=function(t,n){return t*n},r[o(349,"*z@7")]=function(t,n){return t/n},r[o(362,"imWJ")]=function(t,n){return t+n},r[o(361,"bvds")]=function(t,n){return t/n},r.EfHIk=function(t,n){return t-n},r[o(419,"1f3m")]=function(t,n){return t**n},r[o(444,"3haG")]=function(t,n){return t/n};const e=r,W=t[o(437,n)];let d=0,s=0,u=0,i=0,a=0,C=0,f=0,k=0,x=0;for(const r of t){const t=r.x,W=r.y,h=t*t,m=W*W;d+=t,s+=W,u+=h,i+=m,a+=e[o(385,n)](t,W),C+=h*t,f+=m*W,k+=h*W,x+=t*m}const h=W*u-d*d,m=e[o(357,"eu*Q")](W*a,d*s),S=e[o(390,"kS[0")](W,i)-e[o(384,"6bO[")](s,s),I=e[o(352,"!z*n")](.5,e[o(432,"p%Z^")](W,C)+W*x-d*u-e[o(440,"TgQ^")](d,i)),G=.5*(W*k+W*f-s*u-s*i),_=h*S-m*m;if(Math.abs(_)<1e-10){const n=e[o(346,"DgW*")](d,W),r=s/W;let u=0;for(const W of t)u+=Math[o(398,"Vl3q")](e[o(362,"imWJ")](e.ayxMx(W.x,n)**2,(W.y-r)**2));return{centerX:n,centerY:r,radius:e[o(349,"*z@7")](u,W)}}const b=(I*S-m*G)/_,l=e[o(404,"p%Z^")](e.ayxMx(h*G,e[o(429,"zneG")](m,I)),_);let P=0;for(const n of t)P+=Math.sqrt(e.EfHIk(n.x,b)**2+e[o(351,"p9]I")](n.y-l,2));const M=e[o(372,"kQhN")](P,W),R={};return R[o(392,"v#KK")]=b,R[o(368,"ntQU")]=l,R[o(378,"BhS2")]=M,R}[_0x26a902(358,"Zr1!")](t,n,o){const r=_0x26a902,e={};e[r(354,"@^r6")]=function(t,n){return t<n},e[r(413,"5hGo")]=function(t,n){return t===n},e.Lzsnz=function(t,n){return t-n},e[r(353,"mCQ$")]=function(t,n){return t>n},e[r(435,"3haG")]=function(t,n){return t*n},e[r(403,"ntQU")]=function(t,n){return t*n},e[r(408,"p9]I")]=function(t,n){return t/n};const W=e;if(W[r(397,"6bO[")](t[r(342,"bvds")],2))return 0;const d=t[r(379,"bvds")](t=>Math[r(377,"J2(i")](t.y-o,t.x-n));let s=0;for(let t=1;W.fPZNE(t,d.length);t++){const n=d[t-1],o=d[t];if(void 0===n||W.ExVNi(o,void 0))continue;let e=W[r(431,"Vl3q")](o,n);for(;W[r(424,"DgW*")](e,Math.PI);)e-=W[r(430,"GUnF")](2,Math.PI);for(;e<-Math.PI;)e+=W.wbdXt(2,Math.PI);s+=Math[r(423,"&vJX")](e)}return Math[r(443,"ntQU")](W.sXRMr(s,2*Math.PI),1)}[_0x26a902(399,"p%Z^")](t,n){const o="!z*n",r=_0x26a902,e={};e[r(400,"zneG")]=function(t,n){return t<n},e[r(347,"GUnF")]=function(t,n){return t-n},e[r(445,"WWgo")]=function(t,n){return t**n},e.zTmtG=function(t,n){return t<n},e[r(344,"^gaI")]=function(t,n){return t*n},e[r(412,"*z@7")]=function(t,n){return t/n},e[r(422,"DgW*")]=function(t,n){return t+n},e[r(434,"KbZ3")]=function(t,n){return t*n},e.gSLFq=function(t,n){return t-n},e[r(393,"TgQ^")]=function(t,n){return t+n};const W=e;if(W[r(421,o)](t.length,PERFECT_CIRCLE_GAME_CONFIG[r(348,"PgO9")]))return 0;const d=screenWidth/2,s=n,{centerX:u,centerY:i,radius:a}=this.fitCircle(t);if(a<30)return 0;const C=t[0],f=t[W.jZUfM(t.length,1)];if(!C||!f)return 0;const k=Math[r(366,o)]((f.x-C.x)**2+W[r(381,"ifMn")](W[r(416,"B3St")](f.y,C.y),2)),x=.15*GUIDE_CIRCLE_RADIUS;if(k>x)return 0;const h=this[r(441,"p%Z^")](t,u,i);if(W[r(386,"3haG")](h,.85))return 0;const m=Math[r(426,"Qad6")](a-GUIDE_CIRCLE_RADIUS)/GUIDE_CIRCLE_RADIUS,S=Math[r(369,"GUnF")](0,W[r(407,"UBU&")](100,1-m)),I=Math[r(343,"mCQ$")]((u-d)**2+(i-s)**2),G=W.xiWaC(I,GUIDE_CIRCLE_RADIUS),_=Math[r(425,"!z*n")](0,100*(1-G));let b=0;for(const n of t){const t=Math.sqrt(W[r(355,"$]%I")]((n.x-u)**2,(n.y-i)**2));b+=Math.abs(t-a)/a}const l=b/t[r(371,"DgW*")],P=Math[r(420,"TgQ^")](0,100*(1-2*l)),M=W[r(438,"B(ab")](100,W.gSLFq(1,k/x)),R=W[r(414,"%90w")](.6*P+.15*S+W[r(436,"Zr1!")](_,.15),.1*M);return Math[r(394,"B3St")](Math[r(405,"EQRD")](100,Math[r(428,"PgO9")](0,R)))}[_0x26a902(382,"WWgo")](t=0){const n=_0x26a902,o=usePerfectCircleStore[n(418,"p%Z^")](),r=o[n(375,"*z@7")];if(r[n(411,"&vJX")]<PERFECT_CIRCLE_GAME_CONFIG.MIN_POINTS)return o[n(415,"@^r6")](0),void o.setGameResult(!1);const e=(screenHeight-t+100-350)/2,W=this[n(388,"a1^A")](r,e);o[n(350,"eoC#")](W),this[n(373,"DgW*")]?.(W);const d=W>=80;o.setGameResult(d)}[_0x26a902(387,"3haG")](t=0){this[_0x26a902(363,"eu*Q")](t)}}
@@ -1 +0,0 @@
1
- "use strict";function _0xeb3e(e,t){e-=108;const r=_0x5932();let o=r[e];if(void 0===_0xeb3e.mmcDRj){const e=function(e,t){let r,o,n=[],W=0,s="";for(e=function(e){let t="",r="";for(let r,o,n=0,W=0;o=e.charAt(W++);~o&&(r=n%4?64*r+o:o,n++%4)?t+=String.fromCharCode(255&r>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)r+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)W=(W+n[o]+t.charCodeAt(o%t.length))%256,r=n[o],n[o]=n[W],n[W]=r;o=0,W=0;for(let t=0;t<e.length;t++)o=(o+1)%256,W=(W+n[o])%256,r=n[o],n[o]=n[W],n[W]=r,s+=String.fromCharCode(e.charCodeAt(t)^n[(n[o]+n[W])%256]);return s};_0xeb3e.urbamn=e,_0xeb3e.YECJPb={},_0xeb3e.mmcDRj=!0}const n=r[0];_0xeb3e.svTBok!==n&&(_0xeb3e.YECJPb={},_0xeb3e.svTBok=n);const W=_0xeb3e.YECJPb[e];return void 0===W?(void 0===_0xeb3e.NpouLu&&(_0xeb3e.NpouLu=!0),o=_0xeb3e.urbamn(o,t),_0xeb3e.YECJPb[e]=o):o=W,o}!function(){const e=_0xeb3e,t=_0x5932();for(;;)try{if(998501==-parseInt(e(166,"gk@["))/1*(-parseInt(e(131,"yTO7"))/2)+parseInt(e(164,"DgLD"))/3*(-parseInt(e(133,"2ZpY"))/4)+parseInt(e(137,"H9L$"))/5+parseInt(e(167,"yTO7"))/6+parseInt(e(148,"H9L$"))/7*(-parseInt(e(110,"yTO7"))/8)+parseInt(e(141,"X&]0"))/9*(-parseInt(e(115,"Qgpb"))/10)+-parseInt(e(125,"kQGa"))/11)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{useShallow}from"zustand/react/shallow";import{immerMiddleware}from"../../services/UtilsService.js";export const usePerfectCircleStore=create()(subscribeWithSelector(immerMiddleware(e=>({isPlaying:!1,isDrawing:!1,gameOver:!1,gameWon:!1,accuracy:0,drawnPoints:[],startPoint:null,startGame:()=>{e(e=>{const t=_0xeb3e,r=t(135,"r8&j").split("|");let o=0;for(;;){switch(r[o++]){case"0":e.accuracy=0;continue;case"1":e.startPoint=null;continue;case"2":e[t(144,"b7G@")]=[];continue;case"3":e[t(120,"xdbV")]=!1;continue;case"4":e[t(112,"gk@[")]=!0;continue;case"5":e[t(142,"($um")]=!1;continue;case"6":e.gameOver=!1;continue}break}})},stopGame:()=>{e(e=>{const t=_0xeb3e;e[t(165,"b7G@")]=!1,e[t(111,"tZo)")]=!1})},resetGame:()=>{e(e=>{const t=_0xeb3e;e[t(160,"($um")]=!1,e[t(117,"a$K!")]=!1,e[t(153,"(e7[")]=!1,e[t(145,"u7C@")]=!1,e[t(143,"r8&j")]=0,e.drawnPoints=[],e[t(169,"]39s")]=null})},startDrawing:t=>{e(e=>{const r=_0xeb3e;e[r(174,"mI1[")]=!0,e[r(126,"tIn#")]=t,e[r(151,"xdbV")]=[t]})},addPoint:t=>{e(e=>{e.drawnPoints.push(t)})},finishDrawing:()=>{e(e=>{e[_0xeb3e(149,"qYB[")]=!1})},setAccuracy:t=>{e(e=>{e[_0xeb3e(143,"r8&j")]=t})},setGameResult:t=>{e(e=>{const r=_0xeb3e;e[r(124,"tZo)")]=!0,e[r(122,"^hw$")]=t,e[r(173,"Zv1J")]=!1,e[r(168,"(xa&")]=!1})},clearDrawing:()=>{e(e=>{const t=_0xeb3e;e[t(155,"Xb^e")]=[],e[t(152,"(hIb")]=null,e[t(129,"HKbE")]=!1,e[t(109,"L@%q")]=0})}}))));export const useIsPlaying=()=>({JJrjz:function(e,t){return e(t)}}[_0xeb3e(136,"WdZV")](usePerfectCircleStore,_temp));export const useIsDrawing=()=>usePerfectCircleStore(_temp2);export const useGameOver=()=>({yACHh:function(e,t){return e(t)}}[_0xeb3e(156,"wo@C")](usePerfectCircleStore,_temp3));export const useGameWon=()=>usePerfectCircleStore(_temp4);export const useAccuracy=()=>usePerfectCircleStore(_temp5);export const useDrawnPoints=()=>usePerfectCircleStore(_temp6);export const useGameActions=()=>usePerfectCircleStore(useShallow(_temp7));export const useGameState=()=>usePerfectCircleStore({ypkVh:function(e,t){return e(t)}}[_0xeb3e(172,"WdZV")](useShallow,_temp8));function _temp(e){return e[_0xeb3e(159,"(hIb")]}function _0x5932(){const e=["W4pdTazNWOHQW48","W5TdwaVdTKBdJWT6","tH8lsSoKtCkljSkuxCk6x0K","u1OKW6GP","thRdGCkEWPVdNX0FWQ3cMfFcHri","WRxdPqJcJ8o7W4BcHhTKb8kJ","W7BcHv4LW7ddJdHCW6KzWPddRIa","AeZdKCkkWRhcQ8klWRi7n8k6WOak","WPmzzfJcLKddLMRcOW","W5BdRK7cR0BcQmoz","gWbBq8kGumoDiW","vbvvW5tcMdddG8kLAKJdPa","bGldGrhdLZxdNa","lrNcKSkyWOJcG8kOWPam","W6iaauKCimkczW","qWBcTCoRW6ZcPuK","l8o5iLFdP8oHyeC9","hfhcU8oIW7BcRSoCWRRdOCoUWOtcLWO","qJPQW7SSWPhcIIPqhCkJ","tuqdeYegWPP9FCoY","amoNW5Trm8oOa8kU","wvepbai5WPS","c0BcRSosW7NcK8owWOhdQSoPWOi","c0RcN8k3WOy","nCo+b1FdSSosE0GTWPZdOmk8","W6ZcHN8YWQddU8kvW7i","v0mYdtqVWPX6Da","W5JdVhpcPNdcVSoEWOVcVq","q8kwwCknW7BcKxa","W7mfmgX3yxBcUSo7q8kseCk5","FuddI8kKWQpcRSkQWPi/m8kMWOiz","z8ouW4qQzmkoWOpcPbldTHjXW78","wrrKW4/cLXNdHCkIyW","islcOCkVwHbQuKC","WPGxe1RcSZNcN1bvtI3cOCoaW6S","W4RdNXXDWP8XWQGbCG","tJhcPCoyg8kDWPVcLh7cNG","atvAWQWmW5r7WQnVDIRcStr8","emkHv8kcW7VcOL5A","yga9W5q7","W7xcSYqNWOBdMCk3q2e","mmkjWPvVBmo6w8oKW50","dSo1W7jghCoPd8kYWOi","isX9o8osWPpdHCoJ","WPWte1BcTtpdLYXXyaZcMa","WQFdHsnGWQlcG2rcW78","FMhdHSkwyYXfthi","WR3dGGHIWOtcLwbj","Da0ZWOtdKmkAWQhdMYRdU0/cMCoWW5m","s3JcRmkPwSkdch/dS101WOa","eCkPvmkoW4FcVh9Af8ked8o/W4i","W5pcTXxcS8oQAGdcVSoE","WQJcShhcTHFdGeOjhYJdJ8k+","W4GNW5f4W4CXWP/dQZC","tZTpW74JWRBcJc1z","WPpdKar6WQr/W6VdT8k+FaC","W77dOItdO3FcN14","Af3dHmk/WQtcGSkCWOePlCkHWOS","WQNdLWP3WOZcGMHE","mefrtdLhW4xcISo3WPOewSklmW","WRjiAcOWaIdcICoztW","lgBdQmkpWPtcHmkp","t3VcP8kHbCoLpKFdSeq","le9pW4lcGmovW7NcGWC","WRBcLmoPv28yjCk5","WPWwgfBdQLFdOH9Pxa","W5ldO0BcQ2pcG8ofWOtcRwemWPm"];return(_0x5932=function(){return e})()}function _temp2(e){return e[_0xeb3e(108,"(e7[")]}function _temp3(e){return e.gameOver}function _temp4(e){return e.gameWon}function _temp5(e){return e[_0xeb3e(130,"nzQ0")]}function _temp6(e){return e[_0xeb3e(121,"2ZpY")]}function _temp7(e){const t=_0xeb3e,r={};return r.startGame=e.startGame,r.stopGame=e[t(113,"tZo)")],r[t(134,"yTO7")]=e.resetGame,r[t(123,"dQm7")]=e[t(157,"qYB[")],r[t(147,"Ta4u")]=e.addPoint,r[t(116,"LRLj")]=e[t(163,"dQm7")],r[t(138,"Z9Vk")]=e.setAccuracy,r[t(150,"Xb^e")]=e[t(140,"dQm7")],r.clearDrawing=e[t(132,"($um")],r}function _temp8(e){const t=_0xeb3e,r={};return r.isPlaying=e[t(119,"$Uo%")],r[t(158,"5([J")]=e[t(171,"LRLj")],r[t(154,"(hIb")]=e[t(154,"(hIb")],r}
@@ -1 +0,0 @@
1
- "use strict";const _0x22fb2d=_0x4cdd;!function(){const e=_0x4cdd,t=_0x21a0();for(;;)try{if(588497==-parseInt(e(511,"c#64"))/1+parseInt(e(524,"aQ$Z"))/2+-parseInt(e(428,"2Myu"))/3*(-parseInt(e(441,"fY(f"))/4)+-parseInt(e(417,"dUYq"))/5*(-parseInt(e(492,"G9Fw"))/6)+parseInt(e(519,"Tvj4"))/7*(-parseInt(e(536,"W!fI"))/8)+-parseInt(e(514,"]IZU"))/9*(parseInt(e(501,")*Ew"))/10)+parseInt(e(449,"91(T"))/11)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x330444}from"react/compiler-runtime";import _0x550d27,{useRef,useCallback,useMemo,useEffect}from"react";import{View,StyleSheet}from"react-native";import{Canvas,Path,Skia,Circle}from"@shopify/react-native-skia";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{usePerfectCircleStore,useIsPlaying,useGameOver}from"../PerfectCircleStore.js";import{PERFECT_CIRCLE_COLORS,PERFECT_CIRCLE_GAME_CONFIG}from"../PerfectCircleConstants.js";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{playSound,GAME_SOUNDS}from"../../../services/SoundsService.js";import{getGameDimensions}from"../../../services/UtilsService.js";import{jsx as _0x43e79f,Fragment as _0xb81537,jsxs as _0x6233df}from"react/jsx-runtime";const{width:width,height:height}=getGameDimensions(),GUIDE_CIRCLE_RADIUS=width/2,GUIDE_CIRCLE_RADIUS_SQ=GUIDE_CIRCLE_RADIUS*GUIDE_CIRCLE_RADIUS,MIN_POINT_DISTANCE_SQ=16,clampToCircle=(e,t,r,o)=>{const n=_0x4cdd,W={};W[n(423,"HB(w")]=function(e,t){return e-t},W.UaQyU=function(e,t){return e-t},W[n(437,"eN0u")]=function(e,t){return e/t},W[n(480,"(Dtw")]=function(e,t){return e+t};const d=W,f=d.fLxSD(e,r),i=d.UaQyU(t,o),s=f*f+i*i,a={};if(a.x=e,a.y=t,s<=GUIDE_CIRCLE_RADIUS_SQ)return a;const u=d[n(534,"ia#$")](GUIDE_CIRCLE_RADIUS,Math[n(414,"ibzQ")](s));return{x:d[n(447,"W!fI")](r,f*u),y:o+i*u}},GuideCircle=_0x550d27[_0x22fb2d(526,"[ckA")](e=>{const t=_0x22fb2d,r={OMOwn:function(e,t,r){return e(t,r)},DhAfy:function(e,t,r){return e(t,r)}},o=_0x330444(3),{cx:n,cy:W}=e;let d;if(o[0]!==n||o[1]!==W){const e={};e.cx=n,e.cy=W,e.r=GUIDE_CIRCLE_RADIUS,e[t(521,"wsPu")]=PERFECT_CIRCLE_COLORS[t(488,"Pj!P")],e[t(454,"2Myu")]=.2;const f={};f.cx=n,f.cy=W,f.r=GUIDE_CIRCLE_RADIUS,f.color=PERFECT_CIRCLE_COLORS.GUIDE,f[t(420,"eN0u")]=PERFECT_CIRCLE_GAME_CONFIG.GUIDE_CIRCLE_OPACITY,f[t(478,"XrrO")]=t(466,"aQ$Z"),f[t(489,"aQ$Z")]=2,d=r[t(457,"#fGd")](_0x6233df,_0xb81537,{children:[_0x43e79f(Circle,e),r.DhAfy(_0x43e79f,Circle,f)]}),o[0]=n,o[1]=W,o[2]=d}else d=o[2];return d});function _0x21a0(){const e=["yMZcJva","pCk2WRfTcfC","WRFcRL92WOmuW4ZcRa","W4Krze7cIbmLwCoD","hCodEGmLdYa","WOpcM8k3W5tdRq","W5RdHmkftf3cHbWdWO0T","yr3cQ8oSWQy1","WQWafr3cISoS","W73cHmo/W5JdRW","ESkPi0pcK8oPW6q","W7RdQ1vBt8kz","yNRdO8ogWO8mya","WQ0bdSoDWQG","W6/dJLHfzG","amoBWQqJua","W6agBgdcPa","WQZcJSkhW7FdT8kz","DYb2WRmmWOuclq","yKNcJSoYWObQiq","WOeWwSkFugb+","ESkCWPju","pCokW43dMW","mCobih0V","pCk2WRfTcfFdMSklW5FcPcq","eYRdPCkMjh8B","W54rEG","W6/cOSkWWOndW6ddOYtcIga","CfrIkmkRW4pcO8oABcldUW","WQOpWRBdSmoCWRi","CNVdSmogWP4MzSk/yuBdIWK","WRaKuCkyW6FdLh1sWP3cJbxcIa","WOySw8kDww9ZfSkpW5yh","cCoFW4O8","BSkVWQDRwGnNva","WPtcUSokdKK","WQJdJCoCW4KVW6nAmstdUGyxAq","r8kgp0z2ddBcPCoEA8ku","kCowW43dG8owW4Kpwui+W64","W6XbqSkdW7tcPfLWWQW7W7Td","zLNcImotWPfLiCo/","kCkZiSkQW7tcPfK","WOBcKL5WWOi","ygpdUmotWOqRymk7E1W","WQVdOmo7W5rsW60","WRz9zmoaFN8XDWWtkGNcJmkZ","FMqrWRDilSoWeYdcLHVcSq","WPWHnsdcPmohba","W5nIWRuuW7q","W7aEWQxdNCorWOyd","gmoQidOeW7VcO8ohuN3dJw5r","twVdV8kMW7WaW6m","p8o5lZSmW6y","kSkaymojgf7cJW","pJNcOM8eW7dcQt0","lSoxW5OGBW","W7j3WP89W4G","WOONiGhcTCoibaK","lmowW5qStq","F8o0W7q3uqtcV8keW4FcOqiSea","WPm9ktFcLCog","BfNcKCoV","W63dLGX+WPb9W40IW7ZcMwZdMq","sCkiWProycHD","WQ81kq","htRdUSk7","WQOiWQhdO8onWRKD","W7VdSvnDrCkAW4e","W6qBec5vW5S","gaOFehy","ECo3zSoVWQxdUHVdOfFdTZRcPCk3","fY7cUSoJWQ8dW7u5W5BdHWC","WQBcK0K8","W48iAmozwg3cPG","WRemtCo6","WQNdVmkSWQJdTM3cKmkSlmks","AbRdTuWG","W78oWO/dVvDq","jCk2mCk7W7JcVLq","oCoVWRiurmovW48","nsruW64BFCoBfdy","W77dIfL8za","WQldJ2NcImooW7G","nYRdVSkWjfigasNcKCoc","WR8TuSkn","WOtcQMGfW5O","W7lcHmk/W5tdJSkSoq","WPaWrSkIw0rz","mqm3W44rjZRcP8o4WRldLSo/WOa","Eg/cJuyq","W4XMCgFcMCoOjZ3dJbu","W7NcU8oPW6/dI0lcSW","DsDRWQGfWOi","kSkAFmophfNcLCksvW","mSoOdCo9WP7cJ8oBW4GaWRT4WQVdUG","d8kPmCk+W7y","srxdGxGlWRW4","u2vcaCkfW6xcOmoSsX/dGwJdIeq","W5GxBvlcNq","W5/dHSkjrH7dNGWTWOGBWQ8h","WQlcLmkdW6ddHSkyhG","oWWqh2lcKCkAdM7cNmoxuSo7","WPqWgmohWQm","WQRdU8o8W5vD","W77cNCkdWOL7WQm","Df/dQCkrW6G","WRBcL0K6W40LW5e","FCoyW7e5jre4iCksDqC/W6C","yLpcKmoVWPC","oaqmW5CglGRcSa","W6yTueRcIa","WRtdMmo8W5X0","WQ7cKCkqW7hdISkceW","W6erfqRdRq","DtD3WQ4fWP4c","WOhdP0JcMmou","W48+bahdIa","y8o5WRyQwmoQW5e","yfvInCkLW4JcGa","WOldUv3cN8oB","W73dHKpcG8ou","nG49W7CnjHdcOq","WRK/FSkpW7KGWP8"];return(_0x21a0=function(){return e})()}GuideCircle[_0x22fb2d(503,"fbqO")]=_0x22fb2d(425,"Hc0r");const DrawingCanvasComponent=({gameService:e,offset:t=0})=>{const r="BJvG",o=_0x22fb2d,n={LSZpa:function(e,t){return e!==t},WggqK:function(e,t){return e-t},JxfZM:function(e,t,r,o,n){return e(t,r,o,n)},uhjxJ:function(e){return e()},QHSMr:function(e,t){return e>t},JEovn:function(e,t){return e(t)},BzFFN:function(e,t,r){return e(t,r)},lLugM:function(e,t){return e(t)},VYuUu:function(e,t,r){return e(t,r)}},W=useIsPlaying(),d=useGameOver(),f=n.JEovn(useRef,Skia[o(486,"lILI")][o(465,"fURW")]()),i=useRef([]),s=useRef(null),a=n[o(453,"G9Fw")](useRef,!1),u=useRef(null),C=useRef(!1),_=useRef({x:0,y:0}),[,x]=_0x550d27[o(522,"BEHZ")](0),I=useCallback(()=>{const e=o;n[e(452,"wGr4")](u[e(528,"lILI")],null)||(C.current=!0,u[e(469,"xwJe")]=requestAnimationFrame(()=>{const t=e,r={gJdEA:function(e,t){return e&&t}};t(455,"5kWA")!==t(500,"fY(f")?r[t(474,"dUYq")](!_0x16dbc4,!_0x2f0370)&&(_0x3da9e1(),_0x268a42(e=>e+1)):(u[t(518,"ZzBt")]=null,C[t(433,"dUYq")]&&(C.current=!1,x(e=>e+1)))}))},[]),l=useCallback(()=>{const e=o;f[e(464,"&R[k")]=Skia[e(498,"ZIqY")][e(416,"Lk$J")](),i[e(421,"(Dtw")]=[],s[e(490,"Hc0r")]=null,a[e(484,"[ckA")]=!1,n[e(461,"#fGd")](u[e(528,"lILI")],null)&&(cancelAnimationFrame(u[e(528,"lILI")]),u[e(460,"I0Mh")]=null),C.current=!1},[]);useEffect(()=>{!d&&!W&&(l(),x(e=>e+1))},[d,W,l]);const m=useRef(!1);useEffect(()=>{const e=o;W&&!m.current&&(l(),x(e=>e+1)),m[e(484,"[ckA")]=W},[W,l]);const S=useMemo(()=>Gesture[o(529,"BEHZ")]().onStart(e=>{const t=o;if(!usePerfectCircleStore.getState().isPlaying)return;f[t(532,"HB(w")]=Skia.Path.Make();const r=_[t(456,"ahT2")],n=clampToCircle(e.x,e.y,r.x,r.y);i[t(475,"b$RX")]=[n],s[t(531,"]IZU")]=n,a[t(485,"NEHI")]=!0,f[t(485,"NEHI")][t(482,"2Myu")](n.x,n.y),usePerfectCircleStore[t(467,"[3y*")]()[t(495,"2Bqc")](n),x(e=>e+1),playHaptic(HapticType.LIGHT,!0)})[o(451,"BJvG")](e=>{const t=o;if(!a[t(512,"BEHZ")])return;const r=s[t(477,"2Bqc")];if(r){const o=n[t(458,"5kWA")](e.x,r.x),W=e.y-r.y;if(o*o+W*W<16)return}const W=_[t(516,"W!fI")],d=n[t(481,"wGr4")](clampToCircle,e.x,e.y,W.x,W.y);i[t(448,"ibzQ")][t(487,"fbqO")](d),s[t(485,"NEHI")]=d,f[t(484,"[ckA")][t(525,"BEHZ")](d.x,d.y),n[t(523,"ZIqY")](I)}).onEnd(()=>{const W=o;if(!a[W(442,"2Myu")])return;a.current=!1;const d=usePerfectCircleStore[W(505,"[ckA")](),f=i.current;if(d[W(496,"K2Sc")](),n[W(427,"ibzQ")](f[W(419,"eR%N")],0)){d.startDrawing(f[0]);for(let e=1;e<f[W(533,"eJsv")];e++){const t=f[e];t&&d[W(463,r)](t)}}d[W(443,"ia#$")](),n[W(444,"XrrO")](x,e=>e+1),playHaptic(HapticType.MEDIUM,!0),n[W(418,"4V%b")](playSound,GAME_SOUNDS[W(439,"I0Mh")][W(499,"lILI")],!0),e[W(430,r)](t)})[o(429,"NEHI")](!0),[e,t,I]);n[o(470,"2Myu")](useEffect,()=>{const e=o,t={};t[e(479,"HB(w")]=function(e,t){return e!==t};const r=t;return()=>{const t=e;r.wJyjF(u[t(506,"eN0u")],null)&&cancelAnimationFrame(u.current)}},[]);const R=width/2,k=(height-t+100-350)/2,E={};E.x=R,E.y=k,_[o(421,"(Dtw")]=E;const G={};G[o(491,"wGr4")]=t+260;const y=n[o(507,"[3y*")](useMemo,()=>[styles[o(468,"wGr4")],G],[t]),O=f[o(438,"4V%b")],h=i.current[o(424,"#fGd")]>0,p={};p.cx=R,p.cy=k;const b={};return b.path=O,b[o(450,"[ckA")]=PERFECT_CIRCLE_COLORS[o(473,"BEHZ")],b[o(462,"$q[9")]=o(509,"G9Fw"),b[o(493,"I0Mh")]=PERFECT_CIRCLE_GAME_CONFIG.STROKE_WIDTH,b[o(422,"c#64")]=o(431,"Tvj4"),b.strokeJoin=o(445,"G9Fw"),n.BzFFN(_0x43e79f,View,{style:y,children:_0x43e79f(GestureDetector,{gesture:S,children:n[o(513,"wsPu")](_0x6233df,Canvas,{style:styles[o(446,")*Ew")],children:[_0x43e79f(GuideCircle,p),h&&_0x43e79f(Path,b)]})})})},_0x1665cb={};function _0x4cdd(e,t){e-=414;const r=_0x21a0();let o=r[e];if(void 0===_0x4cdd.CJoOEk){const e=function(e,t){let r,o,n=[],W=0,d="";for(e=function(e){let t="",r="";for(let r,o,n=0,W=0;o=e.charAt(W++);~o&&(r=n%4?64*r+o:o,n++%4)?t+=String.fromCharCode(255&r>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)r+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)W=(W+n[o]+t.charCodeAt(o%t.length))%256,r=n[o],n[o]=n[W],n[W]=r;o=0,W=0;for(let t=0;t<e.length;t++)o=(o+1)%256,W=(W+n[o])%256,r=n[o],n[o]=n[W],n[W]=r,d+=String.fromCharCode(e.charCodeAt(t)^n[(n[o]+n[W])%256]);return d};_0x4cdd.NXGBwW=e,_0x4cdd.ONbiTA={},_0x4cdd.CJoOEk=!0}const n=r[0];_0x4cdd.uvPwQa!==n&&(_0x4cdd.ONbiTA={},_0x4cdd.uvPwQa=n);const W=_0x4cdd.ONbiTA[e];return void 0===W?(void 0===_0x4cdd.WOWsGR&&(_0x4cdd.WOWsGR=!0),o=_0x4cdd.NXGBwW(o,t),_0x4cdd.ONbiTA[e]=o):o=W,o}_0x1665cb.position=_0x22fb2d(483,"ahT2"),_0x1665cb[_0x22fb2d(426,"K2Sc")]=0,_0x1665cb[_0x22fb2d(440,"wGr4")]=0,_0x1665cb[_0x22fb2d(476,"HB(w")]=250,_0x1665cb.justifyContent="center",_0x1665cb.alignItems=_0x22fb2d(434,"ahT2");const _0x2ffddd={};_0x2ffddd[_0x22fb2d(520,"ZIqY")]=width,_0x2ffddd[_0x22fb2d(472,"vBzr")]=height-350,_0x2ffddd[_0x22fb2d(510,"^]Sb")]="center",_0x2ffddd[_0x22fb2d(508,"2Bqc")]="center";const _0x46645a={};_0x46645a[_0x22fb2d(435,"ZzBt")]=_0x1665cb,_0x46645a[_0x22fb2d(517,"QPEa")]=_0x2ffddd;const styles=StyleSheet[_0x22fb2d(494,"]IZU")](_0x46645a);export const DrawingCanvas=_0x550d27[_0x22fb2d(530,"Hc0r")](DrawingCanvasComponent);DrawingCanvas[_0x22fb2d(497,"NEHI")]=_0x22fb2d(515,"QPEa");
@@ -1 +0,0 @@
1
- "use strict";const _0x3e15be=_0x1821;function _0x4726(){const e=["W7vnW4JcTZOgf8o9","W4jMW7u6mKbUW7O","W4eEvcNcM8k4W7JdT8oLWP/dNgzv","WQjBkvSU","W5jHW7K","W61fW6zHESktWOLfW5/cGmk0WQbWW4S","xK7cK8ojW7FcVr9utJyOBa","mXmrWOHduCkEW5iZWPflW6fs","W4bMWPPHudOuW4jUWRldSmozDa","rCkSEmohtwtcICkQ","DSk/WRlcIfKvymoVccH1WRlcNq","WR/dUqvGC8oSWQaEW77cUZuSW78","DKbiW4Ww","WQ9ki8kQu10UWQpdPmkoDCotW5pdLa","vSkDWOpdJb8q","W7GetSk7W5ZcJetcJKFdPmo/W44","mXLqW6Kjl8ocW5a","WP1kl8kTrh4IWRVdL8kj","WOZdUmocfCoB","W5xcOmkKtrm","WOddQgNcIvvncqO","W7tcTwa0","WRJdHmo2d8ku","W7/cG8k9cCkHkSo3FCkf","W6FdPCoBW6BdTZZdSSktdu4eW44T","WRjJWOZcImknpgmBuXaBja","W6q5W5ddJmozyq","W7OjdmoyWPddUuxcTW","amo4u8o6a8k4FrRcMSo0WPqY","WP5zWQKxocqmvSkdbbpcN8ohWRXAhtanWPtcIh/dVsDQWR4","fmkEW5ZcGCkLv8kQWPnIW6G+W5lcSW","xSkRa8k6umo/","z19pWQbF","WPxcOKrks8olW40mWQJdVIS","WQNdM8oYW4KEW7xcSmkOWONdQ8krobO","W7/cHmk4uCogAmooDmkQzeRdSW","mvFdQ8k2W4JcSW","WOtcGrBdGmo3jY0PW78"];return(_0x4726=function(){return e})()}!function(){const e=_0x1821,t=_0x4726();for(;;)try{if(655448==-parseInt(e(127,"WIFk"))/1+-parseInt(e(124,"x)gT"))/2*(parseInt(e(150,"x)gT"))/3)+parseInt(e(121,"&&T1"))/4+parseInt(e(137,"MtWl"))/5+-parseInt(e(146,"ZkkW"))/6+parseInt(e(122,"e]7h"))/7*(parseInt(e(144,"z3Cf"))/8)+parseInt(e(120,"tJ6e"))/9*(parseInt(e(132,"tJ6e"))/10))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x1874f9}from"react/compiler-runtime";import _0x3c54d5,{useMemo}from"react";import{View,Text,StyleSheet}from"react-native";import{useAccuracy}from"../PerfectCircleStore.js";function _0x1821(e,t){e-=118;const o=_0x4726();let r=o[e];if(void 0===_0x1821.pqazsq){const e=function(e,t){let o,r,W=[],n=0,x="";for(e=function(e){let t="",o="";for(let o,r,W=0,n=0;r=e.charAt(n++);~r&&(o=W%4?64*o+r:r,W++%4)?t+=String.fromCharCode(255&o>>(-2*W&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)W[r]=r;for(r=0;r<256;r++)n=(n+W[r]+t.charCodeAt(r%t.length))%256,o=W[r],W[r]=W[n],W[n]=o;r=0,n=0;for(let t=0;t<e.length;t++)r=(r+1)%256,n=(n+W[r])%256,o=W[r],W[r]=W[n],W[n]=o,x+=String.fromCharCode(e.charCodeAt(t)^W[(W[r]+W[n])%256]);return x};_0x1821.raMGzQ=e,_0x1821.YcqsSr={},_0x1821.pqazsq=!0}const W=o[0];_0x1821.HQbQug!==W&&(_0x1821.YcqsSr={},_0x1821.HQbQug=W);const n=_0x1821.YcqsSr[e];return void 0===n?(void 0===_0x1821.zgkIWb&&(_0x1821.zgkIWb=!0),r=_0x1821.raMGzQ(r,t),_0x1821.YcqsSr[e]=r):r=n,r}import{PERFECT_CIRCLE_COLORS}from"../PerfectCircleConstants.js";import{ScoreBoardContainer,scoreBoardStyles as _0xfaac64}from"../../../helpers/index.js";import{jsx as _0x38390f,jsxs as _0x1b22a8}from"react/jsx-runtime";export const ScoreBoard=_0x3c54d5[_0x3e15be(118,"MYSv")](e=>{const t=_0x3e15be,o={yJoAC:function(e,t){return e===t},SWLMl:function(e){return e()},eniVA:function(e,t){return e!==t},PxUyy:function(e,t,o){return e(t,o)}},r=_0x1874f9(9),{offset:W}=e,n=o.yJoAC(W,void 0)?0:W,x=o.SWLMl(useAccuracy),s=x>0&&styles[t(140,"iBqO")];let a;r[0]!==s?(a=[_0xfaac64[t(147,"qkzi")],s],r[0]=s,r[1]=a):a=r[1];const f=a;let _,d,i;if(r[2]===Symbol[t(139,"xlK1")](t(126,"TsZ)"))){const e={};e.style=_0xfaac64[t(153,"OI*)")],e[t(155,"7zqP")]=t(135,"xlK1"),_=_0x38390f(Text,e),r[2]=_}else _=r[2];if(o[t(154,"*fQt")](r[3],x)||r[4]!==f){const e={};e[t(119,"tJ6e")]=f,e.children=x,d=_0x1b22a8(View,{style:_0xfaac64[t(123,"e]7h")],children:[_,o[t(138,"O3jQ")](_0x38390f,Text,e)]}),r[3]=x,r[4]=f,r[5]=d}else d=r[5];if(r[6]!==n||r[7]!==d){const e={};e[t(128,"Hp7w")]=n,e.children=d,i=_0x38390f(ScoreBoardContainer,e),r[6]=n,r[7]=d,r[8]=i}else if("nFpBV"!==t(129,"35Bb"))i=r[8];else{const e={};e.style=_0x566b17,e.children=_0x7e7e5a,_0x988439=_0x34f400(_0x10807e,{style:_0x326182[t(149,"soOa")],children:[_0x2af872,_0xc99cf7(_0x2a5516,e)]}),_0x1397c7[3]=_0x2cfb32,_0x3d402b[4]=_0x5f5680,_0x26ee46[5]=_0x24d322}return i});ScoreBoard[_0x3e15be(130,"8eE6")]=_0x3e15be(152,"h&3r");const _0xdfb240={};_0xdfb240.color=PERFECT_CIRCLE_COLORS.UI;const _0x5eb42b={};_0x5eb42b[_0x3e15be(148,"h&3r")]=_0xdfb240;const styles=StyleSheet[_0x3e15be(133,"b1Nt")](_0x5eb42b);
@@ -1 +0,0 @@
1
- "use strict";!function(){const t=_0x42ac,o=_0x1643();for(;;)try{if(181547==-parseInt(t(141,"xrPc"))/1+-parseInt(t(155,"tTBG"))/2*(-parseInt(t(185,"Q2[i"))/3)+parseInt(t(162,"JiD)"))/4+-parseInt(t(171,"B#pg"))/5+parseInt(t(154,"cY9u"))/6*(parseInt(t(156,"MZQ4"))/7)+parseInt(t(174,"#bHJ"))/8+-parseInt(t(214,"XHMg"))/9)break;o.push(o.shift())}catch(t){o.push(o.shift())}}();import{PipeType,PIPE_OPENINGS,DIRECTION,PIPE_CONNECT_GAME_CONFIG}from"./PipeConnectConstants.js";function _0x42ac(t,o){t-=141;const n=_0x1643();let e=n[t];if(void 0===_0x42ac.TEvRjF){const t=function(t,o){let n,e,r=[],W=0,i="";for(t=function(t){let o="",n="";for(let n,e,r=0,W=0;e=t.charAt(W++);~e&&(n=r%4?64*n+e:e,r++%4)?o+=String.fromCharCode(255&n>>(-2*r&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let t=0,e=o.length;t<e;t++)n+="%"+("00"+o.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(n)}(t),e=0;e<256;e++)r[e]=e;for(e=0;e<256;e++)W=(W+r[e]+o.charCodeAt(e%o.length))%256,n=r[e],r[e]=r[W],r[W]=n;e=0,W=0;for(let o=0;o<t.length;o++)e=(e+1)%256,W=(W+r[e])%256,n=r[e],r[e]=r[W],r[W]=n,i+=String.fromCharCode(t.charCodeAt(o)^r[(r[e]+r[W])%256]);return i};_0x42ac.XaiaPa=t,_0x42ac.PbTISz={},_0x42ac.TEvRjF=!0}const r=n[0];_0x42ac.cSKrFu!==r&&(_0x42ac.PbTISz={},_0x42ac.cSKrFu=r);const W=_0x42ac.PbTISz[t];return void 0===W?(void 0===_0x42ac.vYQzyS&&(_0x42ac.vYQzyS=!0),e=_0x42ac.XaiaPa(e,o),_0x42ac.PbTISz[t]=e):e=W,e}const{GRID_COLS:GRID_COLS,GRID_ROWS:GRID_ROWS}=PIPE_CONNECT_GAME_CONFIG;export const getOpenDirections=t=>{const o=_0x42ac,n={};n[o(204,"oAet")]=function(t,o){return t%o};const e=n,r=PIPE_OPENINGS[t[o(202,"xbqs")]];return r?r[e.uLgYR(t[o(164,"JiD)")],4)]??0:0};const areConnected=(t,o)=>{const n=_0x42ac,e={qrJOm:function(t,o){return t(o)},rahkv:function(t,o){return t===o},rjlQr:function(t,o){return t!==o},QotDT:function(t,o){return t!==o},dVRbL:function(t,o){return t&o},HFNBl:function(t,o){return t&o},bTpTv:function(t,o){return t===o}},r=getOpenDirections(t),W=e[n(197,"p17!")](getOpenDirections,o),i=o[n(173,"44[n")]-t[n(205,"4]z3")],u=o.col-t[n(158,"^tG)")];return e[n(299,"bS5@")](i,-1)&&e[n(264,"^M0s")](u,0)?e[n(183,"kEJl")](r&DIRECTION[n(289,"MZQ4")],0)&&e[n(280,"#bHJ")](W&DIRECTION[n(249,"79*H")],0):1===i&&0===u?e.QotDT(e.dVRbL(r,DIRECTION.BOTTOM),0)&&e[n(238,"B#pg")](W&DIRECTION[n(228,"XHMg")],0):e.rahkv(i,0)&&-1===u?0!==(r&DIRECTION[n(275,"^tG)")])&&0!==e[n(190,"cwMF")](W,DIRECTION[n(293,"ob#P")]):!(0!==i||!e.bTpTv(u,1))&&0!==(r&DIRECTION.RIGHT)&&0!==(W&DIRECTION[n(142,"ozef")])};export const findConnectedPath=t=>{const o=_0x42ac,n={WKQGV:function(t,o,n){return t(o,n)}},e=new Set,r=[];for(const n of t)for(const t of n)t[o(194,"ygKf")]===PipeType.SOURCE&&(r[o(230,"#bHJ")](t),e[o(279,"]#d1")](t.id));for(;r[o(265,"xrPc")]>0;){const W=r[o(284,"XHMg")](),i=getNeighbors(t,W[o(290,"hPPv")],W[o(302,"JeU^")]);for(const t of i)e[o(198,"XONO")](t.id)||t[o(286,"tTBG")]!==PipeType.EMPTY&&n[o(219,"MZQ4")](areConnected,W,t)&&(e.add(t.id),r[o(161,"auez")](t))}return e};export const isPuzzleCompleteFromSet=(t,o)=>{const n=_0x42ac;for(const e of t)for(const t of e)if(t[n(278,"]#d1")]===PipeType[n(148,"3Ngu")]&&o[n(201,"$8e*")](t.id))return!0;return!1};export const isPuzzleComplete=t=>{const o=findConnectedPath(t);return isPuzzleCompleteFromSet(t,o)};function _0x1643(){const t=["WRH2vra","smkHzxXL","W71AuCkl","x1/dPSkvWOi","mJJdVmoYfh8","WQDJsCkaya","W6WwbW","WR7cL8oBW7j6","W5aOj3pdPrtdSa","W67cNLS","W4/dSmohW60","ca5TxKK","WP1vWOnmWPy","W4jfBG","vmoOWR4kW5pdSa","BrPFvf4","WPabWP7dJCkI","W4PWuSoJzG","W5qtW4ldImoV","W5FdRmozW68feq","AfpdPmku","W6tcRmkVWPZcJq","nuKbbaSZB8oKdYvPW7S","W7pcU8ov","WRa6WRVdGq","eGTfzG","Cmkryq","WOJcQwhcK8kh","W5ddRaJcQCkM","WRe6nuGmCmkxsG","W6RcSgBcRCkx","nmo5WOxdICkt","WPNcJSoYW7hcIW","W4hcJCo0WOtdNZWCWRi","W7j5Ag/cOwm","W5f2W6ewxa","wdbJ","WOv+WOTl","iSoGWPNdJG","W5VdTSkspxpcHSkvbG","nvzaW5m","W5O4WO/dLGi","BSocWQykW7i","W7TmvCkpWRJdJXJdIW","W5rygYKX","W7tdPYZcSCk/","WO/cR8o4W7bB","W6dcLKtcLmkcca","WOVcQmoLW5lcIW","sSoQxCoSW7ddJW","W7/cLmkx","W68aW4/dTCo3","W58yqXpdTG","W4xdPGVcMW","W5eYr8o+ra","W6xdPXdcTSkp","W6RdSCofW5aD","W5ZcUCkWWR3cG0q","y8kCzq","W6xdKcS","WOyyex0H","dGPWyCoy","WRNcI0JcSCk1","WROHxSkXW5ieWRazASoMEdy","W7FcISoKW7G3cG","W6ipEa","W6iBg1tdLG","hSk/W6bwWOxcPCkixf57mN8","FHbe","W50ufv/dPq","W54KW78","bbhdT8oGbq","W6X9BMpcOW","A0VdP8k6WOxdGW","W6lcRmovWQ0","WRpcH17cS8kLfW","W78cW4BdQG","eHxdVCoflG","W7lcK8kkWO7cUge","WQ1HWRnAWRm","B8oRiSkGWQRdLmkhba","W4ddSmoCja","W7XwBmkIWPy","xCk2vmkY","WQPJsHRcUq","W74OWOBdNHGh","jM4jAG","m3mD","imo/WOBdT8kt","W5hcK8oHW5qF","W6BcRSkUWOdcOW","avmrcCkC","FXDAv0K","WPNcOSogW7lcVW","W7hcKSo6W7K","W4NdPSodW6Kfeceg","W4tcUCoEW6K0","WOVcRwa","W5mEW70","pZ1WzCor","BhzGxSolyvJdJa","WQDcWR9RdW","BCkQBuS","W4fzAmoXFG","ie1d","WR7cPmocW5ZcSW","E8oeyCogW5RdSa","oxpdVmo/W50","WR3cLCoGW7m","W5/cUCosW5qq","W788Aa","WPmrmNOF","kh3dUa","W5ZcS03cJCkc","W6nfW50XB8kOFG","nr3cSmoKW4BcNJlcJJJdKhTb","W4rxiCoC","rmolWR9Tz8oE","W5ldSbC","W4NdQmozW6WEfa","WQzFWQPIeIVdGCkM","W4C4W4Suy1ZcUCkrW5bcb2dcSa","tSongmkk","W49HiSkL","WOr8WOPYWRdcSa","ldldPq","lgOh","WO5aCshcHmki","WQPwomkvlSoTdNxdM8oPW6pdMa","WRFdK8oPW7aShJhdLG","W6JcO2RcV8kPkLi","ASokyW","CSkCFG","WRZcP8k5Ea","w8kit2TB","W4hdQGJcLG","sSorWQBcVCozr8o9lSkXWRC8W4i","psfV","cSkhW6pdPmkzfSoEjW","dGXVrfxdIa","W44AqW/dLq","W4JcNmoPWPFdTa","W5juAvJcMW","W4zWymoKCG","ldldPSo0fh4btG","W4RdT8kMWPGqArVcMCohk07cRa","pwOFmCkXa8oeW5m","WRiGWR8","ymkMW5NcKCozWOPIzmoNiSk+vCkb","W61wW6SmsW","W50jW6NdQmoO","WR7cHLq","WRTwWRfhWOFcNq","kCkqW6xdNCkb","W7JcMSklWOBcVG","W7BdPGRcL8kA","haP2DSoE","DvqOymkF","W7xcNSo5W7q","WR98W5RcIe4LASoIWPldR3i","CHOcWOtdL2RcUgFcNK4u","tgNdHW","A8kJW5JcK8oxWOiqDCoHlCkqrq","euVdH8owW40","ugddMCk+WRW","W5NdRmkvna"];return(_0x1643=function(){return t})()}const getNeighbors=(t,o,n)=>{const e=_0x42ac,r={};r[e(240,"zlQM")]=function(t,o){return t<o},r[e(253,"YR76")]=function(t,o){return t-o};const W=r,i=[];return o>0&&i[e(184,"tTBG")](t[o-1][n]),W[e(182,"YR76")](o,t[e(267,"MZQ4")]-1)&&i[e(212,"cwMF")](t[o+1][n]),n>0&&i[e(216,"44[n")](t[o][n-1]),n<W[e(303,"3C77")](t[0]?.[e(270,"79*H")]??0,1)&&i[e(212,"cwMF")](t[o][n+1]),i};export const generatePuzzle=()=>{const t=_0x42ac,o={ARTul:function(t,o){return t-o},lONUp:function(t,o){return t(o)}},n=GRID_ROWS,e=GRID_COLS,r=[];for(let o=0;o<n;o++){const n=[];for(let r=0;r<e;r++){const e={};e.id=o+"-"+r,e[t(260,"XHMg")]=o,e.col=r,e[t(192,"6@y2")]=PipeType[t(252,"3C77")],e[t(172,"Gmuc")]=0,e[t(239,"$8e*")]=!1,e.fixed=!1,n.push(e)}r[t(229,"ob#P")](n)}const W=Math[t(223,"#bHJ")](Math[t(298,"3jA6")]()*n),i=Math[t(258,"XONO")](Math[t(145,"xbqs")]()*n);r[W][0]={...r[W][0],type:PipeType[t(178,"oAet")],fixed:!0},r[i][e-1]={...r[i][o[t(288,"tTBG")](e,1)],type:PipeType[t(149,"e$e^")],fixed:!0};const u=buildRandomPath(W,0,i,e-1,n,e);return placePipesAlongPath(r,u),fillEmptyCells(r,n,e),o[t(222,"$8e*")](scrambleRotations,r),r};const buildRandomPath=(t,o,n,e,r,W)=>{const i=_0x42ac,u={qsqgY:function(t,o){return t-o}};u[i(181,"auez")]=function(t,o){return t*o},u.vZyrU=function(t,o){return t===o},u[i(233,"Q2[i")]=function(t,o){return t===o},u.NVzYY=function(t,o){return t+o};const a=u,d=new Set,f=[],s=(t,o)=>{const u=i,p={Pbbga:function(t,o){return t+o},HKvdN:function(t,o){return t+o},YcadA:function(t,o){return t+o},uuMLZ:function(t,o){return a[_0x42ac(295,"4]z3")](t,o)},qBaIh:function(t,o){return t+o},ZRXHH:function(t,o){return a[_0x42ac(195,"cwMF")](t,o)}};if(a[u(169,"4]z3")](t,n)&&a.Vqglu(o,e)){const n={};return n.row=t,n[u(144,"auez")]=o,f[u(266,"1A2z")](n),!0}d[u(177,"MZQ4")](t+"-"+o);const P={};P[u(250,"^tG)")]=t,P[u(157,"3jA6")]=o,f[u(191,"VIzx")](P);const C=shuffleArray([{dr:-1,dc:0},{dr:1,dc:0},{dr:0,dc:-1},{dr:0,dc:1}]);C[u(294,"JoSs")]((r,W)=>{const i=u,a=Math[i(296,"Q2Bv")](p[i(224,"zlQM")](t,r.dr)-n)+Math[i(242,"79*H")](o+r.dc-e),d=p[i(234,"s(6B")](Math[i(218,"^tG)")](p[i(261,"XONO")](t,W.dr)-n),Math[i(215,"1A2z")](p.uuMLZ(o+W.dc,e)));return p[i(176,"hYtf")](p[i(274,"ygKf")](a,d),p[i(301,"tTBG")](Math[i(277,"Q2[i")]()-.5,4))});for(const n of C){const e=a[u(283,"Gmuc")](t,n.dr),i=o+n.dc;if(e>=0&&e<r&&i>=0&&i<W&&!d.has(e+"-"+i)&&s(e,i))return!0}return f[u(257,"cY9u")](),!1};return s(t,o),f},placePipesAlongPath=(t,o)=>{const n="auez",e="YR76",r=_0x42ac,W={PNVdU:function(t,o){return t-o}};W[r(220,n)]=function(t,o){return t===o},W[r(168,"^M0s")]=function(t,o){return t-o},W[r(237,"auez")]=function(t,o){return t===o},W[r(167,"1A2z")]=function(t,o){return t===o};const i=W;for(let W=0;W<o[r(196,"bCt(")];W++){const u=o[W],a=t[u[r(151,"bCt(")]][u[r(304,"bS5@")]];if(a.type===PipeType[r(143,"X(LB")]||a[r(245,"auez")]===PipeType[r(268,"hYtf")])continue;let d=0;if(W>0){const t=o[W-1],a=i[r(285,"zlQM")](t[r(262,"hYtf")],u[r(250,"^tG)")]),f=t[r(152,"Gmuc")]-u.col;-1===a&&(d|=DIRECTION[r(251,n)]),1===a&&(d|=DIRECTION[r(153,"6@y2")]),i[r(291,e)](f,-1)&&(d|=DIRECTION.LEFT),1===f&&(d|=DIRECTION[r(166,"JeU^")])}if(W<o[r(211,"xbqs")]-1){const t=o[W+1],a=i[r(208,"44[n")](t.row,u.row),f=i[r(269,"bCt(")](t[r(163,e)],u[r(144,n)]);-1===a&&(d|=DIRECTION[r(187,"cwMF")]),i[r(271,"oAet")](a,1)&&(d|=DIRECTION.BOTTOM),i[r(167,"1A2z")](f,-1)&&(d|=DIRECTION[r(217,"YR76")]),1===f&&(d|=DIRECTION.RIGHT)}const f=findPipeForOpenings(d);a.type=f[r(159,"q5lY")],a[r(170,"bCt(")]=f[r(235,"ygKf")]}},findPipeForOpenings=t=>{const o=_0x42ac,n=[PipeType.STRAIGHT,PipeType[o(165,"wp$k")],PipeType[o(306,"8zzQ")],PipeType[o(246,"cY9u")]];for(const e of n){const n=PIPE_OPENINGS[e];for(let r=0;r<4;r++)if(n[r]===t){const t={};return t[o(273,"%ruM")]=e,t[o(221,"3C77")]=r,t}}const e={};return e[o(245,"auez")]=PipeType[o(225,"1A2z")],e.rotation=0,e},fillEmptyCells=(t,o,n)=>{const e="79*H",r=_0x42ac,W={};W[r(243,"hYtf")]=function(t,o){return t-o},W[r(305,"$8e*")]=function(t,o){return t*o},W[r(213,e)]=function(t,o){return t+o},W.wrRkV=function(t,o){return t<o},W[r(248,"xbqs")]=function(t,o){return t<o},W.wHRJY=function(t,o){return t!==o},W[r(282,e)]=r(207,"XHMg"),W[r(193,"JoSs")]=r(189,"bS5@");const i=W,u=[PipeType[r(146,"ob#P")],PipeType[r(241,"3jA6")],PipeType[r(200,"XONO")],PipeType[r(199,"B#pg")]],a=[.35,.35,.2,.1];for(let e=0;i[r(236,"*rX3")](e,o);e++)for(let o=0;i[r(179,"JiD)")](o,n);o++){const n=t[e][o];if(i[r(297,"zlQM")](n[r(232,"Q2Bv")],PipeType.EMPTY))continue;const W=Math.random();let d=0,f=PipeType.STRAIGHT;for(let t=0;t<u[r(226,"^M0s")];t++)if(d+=a[t],W<d){if(i[r(210,"hYtf")]===i[r(193,"JoSs")]){const t=[..._0x5204bd];for(let o=i[r(244,"JeU^")](t[r(265,"xrPc")],1);o>0;o--){const n=_0x59b652.floor(i[r(175,"8zzQ")](_0x36c245.random(),i[r(209,"4]z3")](o,1)));[t[o],t[n]]=[t[n],t[o]]}return t}f=u[t];break}n[r(194,"ygKf")]=f,n[r(272,"3Ngu")]=Math[r(227,"8zzQ")](i[r(263,"bCt(")](Math.random(),4))}},scrambleRotations=t=>{const o=_0x42ac;for(const n of t)for(const t of n){if(t[o(254,"MZQ4")]||t.type===PipeType[o(203,"wp$k")])continue;if(t[o(300,"zlQM")]===PipeType.CROSS)continue;const n=t.rotation;let e=n;for(;e===n;)e=Math[o(276,"6@y2")](4*Math[o(206,"s(6B")]());t.rotation=e}};export const rotatePipe=t=>{const o=_0x42ac;if(t.fixed||t.type===PipeType[o(160,"JoSs")])return t;const n={...t};return n[o(231,"VIzx")]=(t[o(287,"xbqs")]+1)%4,n};export const formatScore=t=>t.toLocaleString();const shuffleArray=t=>{const o=_0x42ac,n={};n[o(281,"tTBG")]=function(t,o){return t>o};const e=n,r=[...t];for(let t=r[o(150,"oAet")]-1;e[o(247,"auez")](t,0);t--){const n=Math[o(180,"79*H")](Math[o(256,"tTBG")]()*(t+1));[r[t],r[n]]=[r[n],r[t]]}return r};
@@ -1 +0,0 @@
1
- "use strict";const _0x496606=_0x2165;function _0x2165(e,o){e-=199;const t=_0x28f0();let n=t[e];if(void 0===_0x2165.sEaKBq){const e=function(e,o){let t,n,r=[],W=0,i="";for(e=function(e){let o="",t="";for(let t,n,r=0,W=0;n=e.charAt(W++);~n&&(t=r%4?64*t+n:n,r++%4)?o+=String.fromCharCode(255&t>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=o.length;e<n;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)W=(W+r[n]+o.charCodeAt(n%o.length))%256,t=r[n],r[n]=r[W],r[W]=t;n=0,W=0;for(let o=0;o<e.length;o++)n=(n+1)%256,W=(W+r[n])%256,t=r[n],r[n]=r[W],r[W]=t,i+=String.fromCharCode(e.charCodeAt(o)^r[(r[n]+r[W])%256]);return i};_0x2165.KgPyOe=e,_0x2165.WxrLGw={},_0x2165.sEaKBq=!0}const r=t[0];_0x2165.bTpiiG!==r&&(_0x2165.WxrLGw={},_0x2165.bTpiiG=r);const W=_0x2165.WxrLGw[e];return void 0===W?(void 0===_0x2165.sMNRqf&&(_0x2165.sMNRqf=!0),n=_0x2165.KgPyOe(n,o),_0x2165.WxrLGw[e]=n):n=W,n}!function(){const e=_0x2165,o=_0x28f0();for(;;)try{if(706616==-parseInt(e(289,"MIy*"))/1*(parseInt(e(331,"jnlB"))/2)+parseInt(e(201,"pohb"))/3+parseInt(e(317,"*um8"))/4*(parseInt(e(241,"yL^y"))/5)+-parseInt(e(315,"Kwas"))/6*(parseInt(e(305,"mqou"))/7)+parseInt(e(250,"ln^)"))/8+parseInt(e(209,"!yeD"))/9*(parseInt(e(304,"pohb"))/10)+-parseInt(e(202,"kQ[c"))/11*(parseInt(e(253,")#6m"))/12))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{PIPE_CONNECT_GAME_CONFIG}from"./PipeConnectConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";import{generatePuzzle,rotatePipe,findConnectedPath,isPuzzleCompleteFromSet}from"./PipeConnectService.js";function _0x28f0(){const e=["sCkgW4KWfGihz8oWaCkWC8ka","WQJcSCoDW4SoWPFdK3O0ChH9","W5pcRmoacCkSW65af2X6hmo+","WPRdPSkezI0","W5xdKSoapmotW7dcNwr2W4hcICoYuW","W5tdICofna","WQlcP8oHW4S5WOVdIgC6","WRNdHZCJv8koW4W+dtS","WO/cSKFcS8oQCSkXWRbyWPy","smoHWRJcHSor","mSolvSk7auVcICoHW7raBCkD","WQOQW7ddVem","WQRdHCkLFCom","WPpcN8kRwmoYlSoCvf7cHN8D","BXpdUffGWQnjvq","bCkAWRpdKSkAW4CUW4WQW6KoW67cMq","WRJcN8koC8on","kYZcNKlcMLKlWQabWPxcUSktkxxcS8o3kG","t8oeWRFcRCoeitCdp8k0nSoVva","W6G1y0rzcmkYW4FdUwZcHZi8","W6NdS8kCdIW","WPb6ESobDq","W5xdMmkJibG","e8kxW73cIwBcUaL/kmoY","WOBcICo+fComW6xcHMi","q8ozWPhcRSofitaukSkY","dSoBWPrKv35CsSo7nSk8u8k7","zIaZW6NcVmkRWQddG8oOW7ujWReR","BbFdS35VWPLxFG","kmo9WQ1aCxi","WRT+pHK","WR3cN8k+wSkbdmorswZdHCk+WPK8","oCknpK/dN8onWPOsWRmy","W6FdMtHACG","dSobW4Tgomk5WRKEuCoXlq","oCkeW4rcpwG7W4hcVSouWRBcUZa","pgDtWRtdRSoNW7ZdTmoH","Aq4xW7rbWOpcKCkphCkzsCoY","wIiRW51iWQxcRmkYoSkZzmov","WRBcHIZcNIm","WRJcT8oEW5u9","WOVdPXykBCkMW4ywkamsWR/cJG","dSobW4Tg","WR3cJ8kJwG","CKJcRIjqWPdcSCoAuGu","u37cQbvK","W7NdSmo5zSo/cWFdGdddVSk4k8kM","gXTTjSkivf9CW5VcGCoN","yfCWxmo1WOqZ","WO/dO8kqsmoKW619W4u","msj1pG","au7dThe3","W503WQS6WOXTWRCmW6q","jSkLW4vqW5W","W7JcJJ5wW5GBz8o1WQu","zmkicSoMzbZcR8oxW4TRAW","xJuUW5u","nZhdKmk5sMFcLsGrhWVdGG","fv/dSMC","W79SWRHl","W53dGJ7dNmoh","lrfUsmk7","jCk6WPpdSSk3W4ijW7ugW48","vhaAE8oMWRisWQ/cSmkQqW","WR3dQ8kZta","W7yNve5d","psFdRmk5FxVcJJuF","W5ZcU0OqCCkLW4msbq","r8ofWOFdNCkDW4ugW7a","esFdV8kttW","W5nuWOpcG3RcMYGGW4ZdLa","nWfgw8kZfCo/aSozWR0","WQdcMSk0yCoa","WRPLoXeixCoeW5VdRepcUJSz","ACootXBdUSoJWQadWR4D","W6/cRhJdHKeeWPP8cSoAWP/cQq","qr7cQdvIaMtdHSoXuCosAr4","dSoBWPrK","WQ3cJcJcNsi","WR7cRmkMo8k+Cf3dNbFdNCkilSkZ","u8kpWRZcRmkN","prDTvSkifCocb8ovWQb9Ba","ECouWP0EEXbGW4ZcOSoLWRtcTWO","ymolWPVcHSkO","WP57rmomtwtcVMBcHSkAWQC","WOigW5tdHNlcOcubW4ZdImkgWQCa","ASopWPKFxZX8W4VcRSo4WQW","kcrbn8oDeupdUmoYW6m","WQ7cJ1VdTmk3l8kcW6xcSSo+nCo1zW","W7NcQmkgW5TPWO7cKNvLyYjYCSoxW5yZnSoLfa","hIZcKNGXW4ddQ8ohx8oPW7JdUCoP","W5FcHfS","WROGW78viH5cWRXpW5y","W5CLFNLm","WPhcG8kJxG","W5NdRH/dQCoKx8knWRrsWOnzW7K","s8ooEdpdPW","WP3cV8kEESkScCo2CeddOW","D8ktdSoNqddcS8oqW4D2C8k7WP8","dMJdP1ffWP5yE2LO","WPxcRmkFEmod","e8obWQ5OsW","WQimW63dT2e","A8klWO3cJCkQ","WOlcMmkNx8oSaSoHt07cMM0pDW","pCkiW5nmW40","xmo6WOyiWR8be17dGYhdIsvB","wSolq8odg8oyAmkktCo1W5L6WPm","ACoowbVdTSo/WOyBWRW","wmkeWPhcTmkGru4GW4TkW7hdQ08","AbhdN1nZWPL4qW","CmkdWRNcKCkw","qmoqWR8msW","lcTqWPDICYtdIXvu","xCkiWPhcTmktrh82W45jW5BdVa","W59tWOhcJf/cHJuiW5ddQW","papdSSkHxq","cqVcGehcTG","WRhdVmkJwYVdV8kcW6aRo3u","WQhcLwddSCk8","W5BcLM/dONmIWPPeiCoT","kcrrp8oE","W5TyvSkmWOxdRM7dM8kzW4dcKmo5W7S","nt5RmW","nrZdQCkDDG","W4PFwSklWPVdGKJdJSkmW4BcJ8o7W6q","W4PFwSkl","s8kdW4W4fGvME8oiamkIDq","d8orWQ3cLdrnW5WyrCkQimoJ","zmooWQaxAcbNW5BcOa","zYr2WP/dPSovW7ZdRW","W7ZdGCoNcmkEe8oxCN3dVW","WR/cVCoCW4iQWRVdJ304BwbVjW"];return(_0x28f0=function(){return e})()}import{playSound,GAME_SOUNDS}from"../../services/SoundsService.js";import{playHaptic,HapticType}from"../../services/HapticsService.js";import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";export const usePipeConnectStore=create()(immerMiddleware(subscribeWithSelector((e,o)=>({isPlaying:!1,isGameOver:!1,isWin:!1,grid:[],score:0,time:PIPE_CONNECT_GAME_CONFIG[_0x496606(273,"kQ[c")],timerInterval:null,filledCellIds:{},gridVersion:0,cellVersions:{},initializeGame:()=>{const t=_0x496606,n={UfpUo:function(e,o){return e(o)},IlpnS:function(e){return e()},mbAtb:function(e,o){return e(o)}},r=o();r[t(299,"c$y9")]&&n[t(277,"DeD$")](clearGameInterval,r.timerInterval);const W=n[t(227,"Gyrp")](generatePuzzle),i=n[t(254,"DeD$")](findConnectedPath,W),s={},d={};for(const e of W)for(const o of e)d[o.id]=1,i[t(265,"Tg0C")](o.id)&&(s[o.id]=!0);e(e=>{const o=t,n=o(263,"BMFo")[o(274,"gv9o")]("|");let r=0;for(;;){switch(n[r++]){case"0":e[o(309,"*^j)")]=d;continue;case"1":e.time=PIPE_CONNECT_GAME_CONFIG[o(287,"&V#Z")];continue;case"2":e[o(232,"ln^)")]=W;continue;case"3":e.isPlaying=!1;continue;case"4":e[o(328,"f&Fb")]=!1;continue;case"5":e[o(215,"yL^y")]=s;continue;case"6":e.gridVersion=e.gridVersion+1;continue;case"7":e[o(225,"ln^)")]=0;continue;case"8":e[o(199,"GY1s")]=!1;continue;case"9":e.timerInterval=null;continue}break}})},startGame:()=>{const t=_0x496606,n=o();n[t(306,"BMFo")]&&clearGameInterval(n[t(205,"mqou")]);const r=setGameInterval(()=>{const e=t;var n;(n=o,n())[e(259,"MIy*")]()},1e3);e(e=>{const o=t;e[o(313,"BMFo")]=!0,e[o(218,"gzzL")]=!1,e[o(207,"aLV)")]=!1,e[o(322,"PI[(")]=r})},stopGame:()=>{const t="[FL^",n=_0x496606,r={hWNtA:n(285,"DeD$"),bKnIy:function(e){return e()},wTnNC:function(e,o){return e(o)}},W=r[n(316,"GY1s")](o);W[n(278,"[FL^")]&&clearGameInterval(W.timerInterval),r.wTnNC(e,e=>{const o=n;o(323,t)!==r[o(290,"*vPo")]?(_0x4964ea[o(303,"!yeD")]=!1,_0x515147[o(330,"@pxi")]=!1,_0x2bc45a[o(295,"PzTR")]=!1,_0x30d369[o(312,"jnlB")]=[],_0x367d75[o(235,"T&q*")]=0,_0x1458e[o(297,"PzTR")]=_0x233079[o(314,"yL^y")],_0x336740[o(281,"xqPW")]=null,_0x16fc9d[o(264,"#%F8")]={},_0x462ecf[o(229,"*um8")]=0,_0x1704c3[o(212,"ilyo")]={}):(e[o(226,"eKJu")]=!1,e[o(278,t)]=null)})},resetGame:()=>{const t=_0x496606,n=o();n.timerInterval&&{MmOwB:function(e,o){return e(o)}}[t(286,"!yeD")](clearGameInterval,n[t(256,"!yeD")]),e(e=>{const o=t;e[o(282,"![eW")]=!1,e[o(245,"T&q*")]=!1,e[o(293,"h(6A")]=!1,e[o(268,"[FL^")]=[],e.score=0,e[o(251,"9!7u")]=PIPE_CONNECT_GAME_CONFIG.TIME_LIMIT,e.timerInterval=null,e[o(247,"kce3")]={},e[o(258,"f&Fb")]=0,e[o(288,"DeD$")]={}})},rotateCellAt:(t,n,r)=>{const W=_0x496606,i={iFhHd:function(e,o){return e(o)},EsCFS:function(e,o){return e!==o},aHUHj:"FKMZg",LhNYP:function(e,o){return e+o},vsgGu:function(e){return e()},dgaRR:function(e,o){return e===o},rySjo:function(e,o){return e(o)},FFGpw:function(e,o,t){return e(o,t)},UmWfP:function(e,o){return e(o)},jyorq:function(e,o){return e-o},LnDPH:function(e,o,t,n){return e(o,t,n)},gIMYu:function(e,o,t){return e(o,t)}},s=i.vsgGu(o);if(!s.isPlaying||s[W(294,"Tg0C")])return;const d=s[W(230,"ilyo")][t]?.[n];if(!d||d[W(319,"SF9O")]||i.dgaRR(d[W(217,"mqou")],W(239,"^&18")))return;const u=rotatePipe(d),m=s[W(262,"h(6A")];i[W(213,"b0j3")](e,e=>{e.grid[t][n]=u});const a=o()[W(216,"b2i6")],C=findConnectedPath(a),l=i[W(257,"*2[3")](isPuzzleCompleteFromSet,a,C),p={};for(const e of C)p[e]=!0;const S=[u.id];for(const e of C)m[e]||S[W(224,"PzTR")](e);for(const e of Object[W(238,"JCMW")](m)){if(W(276,"MIy*")!==W(267,"^&18"))return _0x5b4602.grid;p[e]||S[W(233,"HfZ$")](e)}if(l){s[W(272,"*um8")]&&i[W(327,"ZOYK")](clearGameInterval,s.timerInterval);const o=s[W(214,"BMFo")]+PIPE_CONNECT_GAME_CONFIG[W(324,"^2BJ")],t=i.jyorq(PIPE_CONNECT_GAME_CONFIG[W(271,"mqou")],s.time),n=i.LnDPH(calculateTimeBasedScore,t,PIPE_CONNECT_GAME_CONFIG[W(236,"PI[(")],o);e(e=>{const o=W;e[o(283,"DeD$")]=p,e.score=n,e[o(248,"![eW")]=!0,e[o(275,"9!7u")]=!0,e[o(210,"pohb")]=!1,e[o(220,")#6m")]=null,e[o(208,"b2i6")]=e[o(260,"!yeD")]+1;for(const t of e[o(204,"kce3")])for(const n of t){if(!i[o(243,"*vPo")](i[o(298,"*vPo")],o(291,"^2BJ")))return i[o(329,"ZOYK")](_0x9e68e4,_0x54b63c);e[o(231,"*vPo")][n.id]=i[o(310,"JCMW")](e[o(308,"BMFo")][n.id]??0,1)}}),playSound(GAME_SOUNDS[W(211,"ilyo")][W(223,"SF9O")],r.enableSounds),i[W(246,"gv9o")](playHaptic,HapticType[W(222,"n4dH")],r[W(296,"c$y9")])}else e(e=>{const o=W;e[o(311,"jnlB")]=p,e[o(292,"JCMW")]=e[o(237,"n4dH")]+1;for(const t of S)e.cellVersions[t]=(e[o(269,"Kwas")][t]??0)+1}),playSound(GAME_SOUNDS[W(249,"Tg0C")][W(203,"9!7u")],r[W(320,"[FL^")]),i[W(234,"Kwas")](playHaptic,HapticType[W(318,"MIy*")],r[W(325,"GY1s")])},decrementTime:()=>{const t=_0x496606,n={RAfrB:function(e,o){return e<=o},KspDp:function(e,o,t){return e(o,t)}},{time:r,timerInterval:W}=o();n[t(279,"Gyrp")](r,1)?(W&&clearGameInterval(W),e(e=>{const o=t;e.time=0,e.isGameOver=!0,e.isWin=!1,e[o(240,"*vPo")]=!1,e[o(200,"9!7u")]=null}),playSound(GAME_SOUNDS[t(302,"CI^l")].GAME_OVER,!0),n[t(270,"![eW")](playHaptic,HapticType[t(219,"gzzL")],!0)):e(e=>{e.time-=1})}}))));export const useIsPlaying=()=>usePipeConnectStore(_temp);export const useIsGameOver=()=>usePipeConnectStore(_temp2);export const useIsWin=()=>usePipeConnectStore(_temp3);export const useGrid=()=>usePipeConnectStore(_temp4);export const useScore=()=>usePipeConnectStore(_temp5);export const useTime=()=>usePipeConnectStore(_temp6);export const useFilledCellIds=()=>usePipeConnectStore(_temp7);export const useCellVersions=()=>usePipeConnectStore(_temp8);export const useGridVersion=()=>usePipeConnectStore(_temp9);function _temp(e){return e[_0x496606(228,"]%se")]}function _temp2(e){return e[_0x496606(261,"PzTR")]}function _temp3(e){return e[_0x496606(252,"b0j3")]}function _temp4(e){return e[_0x496606(312,"jnlB")]}function _temp5(e){return e[_0x496606(225,"ln^)")]}function _temp6(e){return e[_0x496606(300,"c$y9")]}function _temp7(e){return e.filledCellIds}function _temp8(e){return e[_0x496606(255,"T&q*")]}function _temp9(e){return e[_0x496606(221,"QyGC")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x3c8a5b=_0x145b;!function(){const W=_0x145b,e=_0x2b12();for(;;)try{if(998552==-parseInt(W(616,"TQyD"))/1*(-parseInt(W(458,"r%Dm"))/2)+-parseInt(W(607,"BQB3"))/3*(parseInt(W(429,"1KwR"))/4)+-parseInt(W(396,"d^1H"))/5+parseInt(W(566,"(5!L"))/6*(-parseInt(W(354,"^*BF"))/7)+-parseInt(W(364,"dIui"))/8+parseInt(W(482,"8o*a"))/9+parseInt(W(415,"DWzK"))/10)break;e.push(e.shift())}catch(W){e.push(e.shift())}}();import{c as _0x12efee}from"react/compiler-runtime";import _0x2589a5,{useCallback,useRef,useMemo,useEffect}from"react";import{View,StyleSheet}from"react-native";import{Canvas,RoundedRect,Rect,Circle,vec,LinearGradient,Group,Line}from"@shopify/react-native-skia";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x11d482,{Easing,runOnJS,useAnimatedStyle,useSharedValue,withTiming}from"react-native-reanimated";import{usePipeConnectStore}from"../PipeConnectStore.js";import{PipeType,PIPE_CONNECT_GAME_CONFIG,PIPE_CONNECT_COLORS}from"../PipeConnectConstants.js";import{getOpenDirections}from"../PipeConnectService.js";import{DIRECTION}from"../PipeConnectConstants.js";import{jsx as _0x45c347,jsxs as _0x5f1fd2,Fragment as _0x3c3946}from"react/jsx-runtime";const{CELL_SIZE:CELL_SIZE,GRID_PADDING:GRID_PADDING,GRID_COLS:GRID_COLS,GRID_ROWS:GRID_ROWS}=PIPE_CONNECT_GAME_CONFIG,PW=Math[_0x3c8a5b(538,"1tG$")](.38*CELL_SIZE),PH=PW/2,PR=Math.floor(PW/2),BORE=Math[_0x3c8a5b(378,"1KwR")](.14*CELL_SIZE),BH=BORE/2,FW=Math[_0x3c8a5b(358,"ZthL")](.48*CELL_SIZE),FHF=FW/2,FT=Math[_0x3c8a5b(576,"dec[")](4,Math[_0x3c8a5b(612,"sWc7")](.08*CELL_SIZE)),JR=PH+2,CX=CELL_SIZE/2,CY=CELL_SIZE/2,HC=CELL_SIZE/2,C=PIPE_CONNECT_COLORS,_0x162299={};_0x162299[_0x3c8a5b(408,"t57O")]="#3A4654",_0x162299[_0x3c8a5b(456,"(#0c")]=_0x3c8a5b(530,"6yDt"),_0x162299[_0x3c8a5b(589,"BEY[")]=_0x3c8a5b(579,"K$KU"),_0x162299[_0x3c8a5b(307,"s7L)")]=_0x3c8a5b(366,"6yDt"),_0x162299[_0x3c8a5b(292,")6uC")]=_0x3c8a5b(594,"X2h1"),_0x162299[_0x3c8a5b(637,"1KwR")]=_0x3c8a5b(573,"dec["),_0x162299[_0x3c8a5b(511,"vdko")]=_0x3c8a5b(269,"aAi$"),_0x162299[_0x3c8a5b(629,"1tG$")]=_0x3c8a5b(542,"jech"),_0x162299.BORE_DARK=_0x3c8a5b(559,"a(C*"),_0x162299.BORE_MID="#1E2830",_0x162299[_0x3c8a5b(385,"a(C*")]=_0x3c8a5b(480,"jrzi"),_0x162299[_0x3c8a5b(390,"ZthL")]="#4A5A6A",_0x162299[_0x3c8a5b(572,"1tG$")]="#7088A0",_0x162299[_0x3c8a5b(434,"FGGo")]=_0x3c8a5b(442,"K23u");const METAL=_0x162299,_0x308882={};_0x308882[_0x3c8a5b(490,"8o*a")]="#025070",_0x308882[_0x3c8a5b(527,"y^[w")]=_0x3c8a5b(338,"8GLM"),_0x308882.MID=_0x3c8a5b(324,"BEY["),_0x308882[_0x3c8a5b(337,"n7J!")]=_0x3c8a5b(593,"dIui"),_0x308882.HILITE=_0x3c8a5b(290,"rcpH"),_0x308882[_0x3c8a5b(411,"K23u")]=_0x3c8a5b(633,"r%Dm"),_0x308882.SHADOW=_0x3c8a5b(618,"^*BF"),_0x308882[_0x3c8a5b(526,"K23u")]="#013858",_0x308882[_0x3c8a5b(400,"(5!L")]=_0x3c8a5b(465,"t57O"),_0x308882[_0x3c8a5b(370,"&%!$")]="#024060",_0x308882.BORE_RIM=_0x3c8a5b(548,"d^1H"),_0x308882[_0x3c8a5b(355,"d^1H")]=_0x3c8a5b(296,")6uC"),_0x308882[_0x3c8a5b(627,"jk*B")]=_0x3c8a5b(477,"X2h1"),_0x308882[_0x3c8a5b(601,"(5!L")]="#60CCF0",_0x308882[_0x3c8a5b(592,"r%Dm")]=_0x3c8a5b(501,"K$KU");const WATER=_0x308882,renderPipeSegments=(W,e,t,r)=>{const o="t57O",n="TXzK",d="ZthL",x="BEY[",a=_0x3c8a5b,i={BokJi:function(W,e,t,r){return W(e,t,r)},FnmPK:function(W,e){return W+e},BiMZO:function(W,e,t){return W(e,t)},mDNdx:function(W,e,t,r){return W(e,t,r)},CsoAe:function(W,e){return W-e},TqYgq:function(W,e){return W+e},aPFol:function(W,e){return W+e},vpKpC:function(W,e){return W-e},RlCnZ:function(W,e){return W*e},UNYYE:function(W,e,t,r){return W(e,t,r)},CBoEe:function(W,e){return W+e},eJtgY:function(W,e){return W in e},tFXhW:"GLOW",BqkpD:function(W,e){return W!==e},qYYnX:function(W,e){return W&&e},XCgcp:function(W,e,t,r,o,n){return W(e,t,r,o,n)},wcfpl:function(W,e){return W&&e}},u=[],_=i[a(643,"jv8G")](i.tFXhW,r),C=(W,t,o,C,s)=>{const R=a,l={};if(l.x=t-PH+3,l.y=o+3,l[R(346,n)]=PW,l.height=C,l.r=PR,l.color=r[R(360,"PBAg")],u[R(459,"IVbp")](i[R(329,"aAi$")](_0x45c347,RoundedRect,l,W+R(471,"1tG$"))),u.push(_0x45c347(RoundedRect,{x:t-PH-1,y:o,width:i[R(564,"yPsu")](PW,2),height:C,r:PR,color:r[R(345,"d^1H")]},W+"-ol")),u[R(524,"a(C*")](_0x45c347(RoundedRect,{x:t-PH,y:o,width:PW,height:C,r:PR,children:_0x45c347(LinearGradient,{start:i[R(330,"2NrK")](vec,t-PH,e),end:vec(t+PH,e),colors:[r[R(540,"ZthL")],r[R(311,d)],r[R(628,"sWc7")],r[R(336,x)],r[R(449,"rcpH")],r[R(272,"vdko")],r.MID,r[R(466,"dec[")],r.EDGE]})},W+"-body")),u[R(613,"TXzK")](i[R(303,"d^1H")](_0x45c347,Rect,{x:t-PH+Math[R(378,"1KwR")](.28*PW),y:o+2,width:Math.max(2,Math[R(535,"jrzi")](.1*PW)),height:C-4,children:_0x45c347(LinearGradient,{start:vec(t,o),end:vec(t,o+C),colors:[r[R(488,"PBAg")],R(295,"BQB3"),r[R(609,"2NrK")]]})},W+R(286,"IVbp"))),s){const e=W[R(544,")6uC")]("st")?o:i[R(625,n)](o,C),a={};a.cx=t,a.cy=e,a.r=PH,a.color=r[R(277,"8o*a")],u.push(_0x45c347(Circle,a,W+R(371,x))),u[R(552,"1tG$")](_0x45c347(Circle,{cx:t,cy:e,r:i[R(448,"K$KU")](PH,1),children:_0x45c347(LinearGradient,{start:vec(t-PH,e-PH),end:vec(i[R(319,"K$KU")](t,PH),e+PH),colors:[r.CAP_LIGHT,r.CAP_MID,r[R(291,"a(C*")]]})},W+R(263,"6yDt")));const s={};s.cx=t,s.cy=e,s.r=BH+1,s[R(581,"PBAg")]=r[R(496,"TQyD")],u[R(249,"8GLM")](_0x45c347(Circle,s,W+R(591,"xWMk")));const l={};l.cx=t,l.cy=e,l.r=BH,l[R(310,"@yZt")]=r[R(622,"FGGo")],u.push(_0x45c347(Circle,l,W+R(555,"eOMz"))),_&&u[R(590,"eOMz")](_0x45c347(Circle,{cx:t,cy:e,r:i[R(380,d)](BH,1),color:r[R(498,"8o*a")]},W+"-bg"))}},s=(e,t,n,d,x)=>{const C=a;if(u[C(389,"y^[w")](_0x45c347(RoundedRect,{x:i[C(644,"n7J!")](t,3),y:n-PH+3,width:d,height:PW,r:PR,color:r[C(278,"8GLM")]},e+C(639,"1KwR"))),u[C(621,"8o*a")](_0x45c347(RoundedRect,{x:t,y:i[C(409,"1tG$")](n-PH,1),width:d,height:PW+2,r:PR,color:r.OUTLINE},e+C(463,"vdko"))),u[C(382,"DWzK")](_0x45c347(RoundedRect,{x:t,y:n-PH,width:d,height:PW,r:PR,children:_0x45c347(LinearGradient,{start:vec(W,n-PH),end:i[C(495,"r%Dm")](vec,W,n+PH),colors:[r[C(640,"jk*B")],r[C(264,"K$KU")],r[C(252,"jk*B")],r[C(356,"LBJq")],r[C(550,"ydIg")],r[C(585,"1tG$")],r[C(447,"&%!$")],r[C(311,"ZthL")],r[C(276,"X2h1")]]})},e+C(467,"6yDt"))),u.push(_0x45c347(Rect,{x:i[C(383,"1KwR")](t,2),y:i[C(596,o)](i[C(575,"s7L)")](n,PH),Math[C(403,o)](.28*PW)),width:i.vpKpC(d,4),height:Math[C(562,"sWc7")](2,Math[C(503,"n7J!")](i[C(486,"FGGo")](PW,.1))),children:_0x45c347(LinearGradient,{start:i[C(519,"jech")](vec,t,n),end:vec(t+d,n),colors:[r[C(507,"LBJq")],"rgba(255,255,255,0.12)",r[C(517,"X2h1")]]})},e+C(387,"n7J!"))),x){const W=e[C(391,"jech")]("sl")?t:t+d,o={};o.cx=W,o.cy=n,o.r=PH,o.color=r.OUTLINE,u.push(i[C(491,"jrzi")](_0x45c347,Circle,o,e+C(398,"a(C*"))),u[C(315,"TQyD")](_0x45c347(Circle,{cx:W,cy:n,r:i[C(274,"dIui")](PH,1),children:_0x45c347(LinearGradient,{start:vec(W-PH,n-PH),end:vec(i[C(435,"3^EF")](W,PH),n+PH),colors:[r[C(533,"PBAg")],r[C(328,"TXzK")],r[C(574,"t57O")]]})},e+C(265,"IVbp"))),u[C(423,"4iM1")](i[C(437,"3^EF")](_0x45c347,Circle,{cx:W,cy:n,r:i[C(556,"sWc7")](BH,1),color:r[C(438,"&%!$")]},e+C(506,")6uC")));const x={};if(x.cx=W,x.cy=n,x.r=BH,x[C(536,"aAi$")]=r[C(521,"2NrK")],u[C(420,"sWc7")](_0x45c347(Circle,x,e+"-bd")),_){const t={};t.cx=W,t.cy=n,t.r=BH-1,t[C(509,"X2h1")]=r[C(417,"^*BF")],u[C(294,"FxqP")](_0x45c347(Circle,t,e+C(413,"4iM1")))}}},R=0!==(t&DIRECTION[a(325,"IVbp")]),l=0!==(t&DIRECTION.BOTTOM),P=i[a(377,"zYIj")](t&DIRECTION[a(617,"BEY[")],0),f=i[a(522,"jv8G")](t&DIRECTION.RIGHT,0);return R&&C("st",W,i[a(600,"jrzi")](e,HC),HC,!l&&!P&&!f),l&&C("sb",W,e,HC,i.qYYnX(!R,!P)&&!f),P&&i.XCgcp(s,"sl",W-HC,e,HC,!f&&!R&&!l),f&&s("sr",W,e,HC,i[a(478,"BQB3")](!P,!R)&&!l),u},renderFlanges=(W,e,t,r)=>{const o="jech",n="xWMk",d="6yDt",x="FGGo",a="y^[w",i=_0x3c8a5b,u={sdJzZ:function(W,e){return W/e},KvyGi:function(W,e){return W-e},agPFE:function(W,e,t){return W(e,t)},OYwmQ:function(W,e,t,r){return W(e,t,r)},fycTK:function(W,e){return W-e},WBkIw:function(W,e,t){return W(e,t)},KWPXj:function(W,e,t){return W(e,t)},Bhaor:i(322,o),agxyG:function(W,e){return W+e},zPSMW:function(W,e,t){return W(e,t)},NUHTx:i(262,"eOMz"),XXrEq:function(W,e){return W&e},Bggmv:i(515,"a(C*")},_=[],C=Math[i(476,"d^1H")](u.sdJzZ(FT,2));if(t&DIRECTION.TOP){const t=e-HC,o={};o.x=W-FHF-1,o.y=t-1,o[i(451,"1KwR")]=FW+2,o[i(468,"xWMk")]=FT+2,o.r=C,o[i(632,"rcpH")]=r[i(526,"K23u")],_[i(624,"(5!L")](_0x45c347(RoundedRect,o,i(605,"n7J!"))),_[i(568,"BEY[")](_0x45c347(RoundedRect,{x:W-FHF,y:t,width:FW,height:FT,r:C,children:_0x45c347(LinearGradient,{start:vec(u[i(549,n)](W,FHF),t),end:u[i(251,"FxqP")](vec,W+FHF,t),colors:[r[i(253,d)],r[i(489,"a(C*")],r[i(464,"^*BF")],r[i(271,"8o*a")],r[i(381,"zYIj")],r[i(514,"TQyD")],r.EDGE]})},i(571,"jrzi")))}if(t&DIRECTION[i(484,"@yZt")]){const t=e+HC-FT;_[i(352,"(#0c")](u.OYwmQ(_0x45c347,RoundedRect,{x:W-FHF-1,y:u[i(523,"TXzK")](t,1),width:FW+2,height:FT+2,r:C,color:r[i(469,x)]},i(256,"BEY["))),_[i(529,"BQB3")](_0x45c347(RoundedRect,{x:u.fycTK(W,FHF),y:t,width:FW,height:FT,r:C,children:u[i(554,"IVbp")](_0x45c347,LinearGradient,{start:u.KWPXj(vec,W-FHF,t),end:vec(W+FHF,t),colors:[r[i(408,"t57O")],r.DARK,r.LIGHT,r[i(599,"dec[")],r[i(475,"d^1H")],r[i(527,a)],r[i(320,"jv8G")]]})},u.Bhaor))}if(t&DIRECTION.LEFT){const t=u.KvyGi(W,HC);_.push(_0x45c347(RoundedRect,{x:t-1,y:e-FHF-1,width:u.agxyG(FT,2),height:FW+2,r:C,color:r[i(297,o)]},"fl-ol")),_[i(638,"&%!$")](_0x45c347(RoundedRect,{x:t,y:u[i(394,")6uC")](e,FHF),width:FT,height:FW,r:C,children:u[i(333,"y^[w")](_0x45c347,LinearGradient,{start:vec(t,e-FHF),end:vec(t,e+FHF),colors:[r.EDGE,r.DARK,r[i(460,"a(C*")],r[i(425,"dIui")],r.LIGHT,r.DARK,r[i(534,"FGGo")]]})},u[i(305,"TXzK")]))}if(u.XXrEq(t,DIRECTION.RIGHT)){const t=W+HC-FT,o={};o.x=t-1,o.y=e-FHF-1,o[i(457,d)]=FT+2,o[i(326,"K23u")]=FW+2,o.r=C,o[i(642,"ZthL")]=r.OUTLINE,_[i(568,"BEY[")](_0x45c347(RoundedRect,o,i(367,"FxqP"))),_.push(_0x45c347(RoundedRect,{x:t,y:e-FHF,width:FT,height:FW,r:C,children:_0x45c347(LinearGradient,{start:vec(t,e-FHF),end:vec(t,e+FHF),colors:[r.EDGE,r[i(347,n)],r[i(602,"FGGo")],r[i(397,"zYIj")],r[i(602,x)],r[i(527,a)],r.EDGE]})},u[i(273,"xWMk")]))}return _},renderJoint=(W,e,t,r)=>{const o=_0x3c8a5b,n={UistC:function(W,e){return W in e},IjKsR:function(W,e){return W+e},cBjlx:function(W,e){return W-e},Jzect:function(W,e){return W-e},cjDPt:function(W,e,t){return W(e,t)},vmvgx:function(W,e){return W+e},YEgfv:function(W,e,t){return W(e,t)},GeSgp:function(W,e){return W-e},EeWDq:function(W,e){return W*e},EKrOf:function(W,e){return W*e},kPnOa:function(W,e){return W-e},mGVQd:o(610,"BEY["),yAWDt:function(W,e,t){return W(e,t)}};if([DIRECTION[o(287,"d^1H")],DIRECTION[o(308,"&%!$")],DIRECTION[o(532,"8o*a")],DIRECTION[o(619,"IVbp")]][o(445,"r%Dm")](W=>0!==(t&W)).length<2)return null;const d=JR,x=n[o(598,"aAi$")]("GLOW",r);return _0x5f1fd2(Group,{children:[_0x45c347(Circle,{cx:n[o(630,"K23u")](W,2),cy:n.IjKsR(e,3),r:d+1,color:r.SHADOW}),_0x45c347(Circle,{cx:W,cy:e,r:d+1,color:r[o(641,"eOMz")]}),_0x45c347(Circle,{cx:W,cy:e,r:d,children:_0x45c347(LinearGradient,{start:vec(n.cBjlx(W,d),n[o(497,"TXzK")](e,d)),end:vec(W+d,n[o(299,"d^1H")](e,d)),colors:[r[o(494,"s7L)")],r.HILITE,r[o(520,"3^EF")],r[o(558,"@yZt")],r[o(456,"(#0c")],r[o(414,"DWzK")]]})}),n[o(443,"BEY[")](_0x45c347,Circle,{cx:W,cy:e,r:n.vmvgx(BH,1),color:r.BORE_RIM}),_0x45c347(Circle,{cx:W,cy:e,r:BH,color:r[o(363,"sWc7")]}),n[o(318,"sWc7")](_0x45c347,Circle,{cx:n[o(399,"FxqP")](W,n[o(259,"rcpH")](d,.25)),cy:n.Jzect(e,.25*d),r:n.EKrOf(d,.32),children:_0x45c347(LinearGradient,{start:vec(W-n[o(584,"PBAg")](d,.25),n.kPnOa(e,.6*d)),end:vec(W-.25*d,n[o(462,"(#0c")](e,.1*d)),colors:[n[o(374,")6uC")],o(365,"jrzi")]})}),x&&n[o(470,"s7L)")](_0x45c347,Circle,{cx:W,cy:e,r:BH-1,color:r.GLOW})]},o(606,"ZthL"))},renderSourceSink=(W,e,t,r,o)=>{const n=_0x3c8a5b,d={kTGSe:function(W,e){return W===e},oEXCx:n(376,"jrzi"),ihKaz:function(W,e){return W*e},WhOik:function(W,e,t,r,o){return W(e,t,r,o)},ATBbf:function(W,e,t){return W(e,t)},qNbVO:function(W,e){return W+e},cohjc:n(317,"K$KU"),VyBBK:function(W,e,t){return W(e,t)},Nfrvr:function(W,e){return W-e},eHjcK:n(421,"s7L)"),ErybR:function(W,e,t){return W(e,t)},UNDSu:function(W,e){return W*e},LDqpt:function(W,e){return W*e},GnhKo:function(W,e){return W*e},sIpCx:function(W,e,t){return W(e,t)},jVKaf:function(W,e){return W+e}},x=d[n(369,"n7J!")](W[n(608,"6yDt")],PipeType[n(428,"aAi$")]),a=x?C[n(424,"BQB3")]:C[n(426,"yPsu")],i=x?C.SOURCE_GLOW:C[n(636,"aAi$")],u=x?d[n(339,"K23u")]:n(260,"jrzi"),_=d.ihKaz(CELL_SIZE,.32);return _0x5f1fd2(Group,{children:[d.WhOik(renderPipeSegments,e,t,r,o),d[n(268,"8o*a")](_0x45c347,Circle,{cx:e,cy:t,r:_+5,color:a+"18"}),d[n(557,"jv8G")](_0x45c347,Circle,{cx:d.qNbVO(e,2),cy:t+3,r:_+2,color:d.cohjc}),_0x45c347(Circle,{cx:e,cy:t,r:_+1,color:METAL[n(635,"@yZt")]}),d.VyBBK(_0x45c347,Circle,{cx:e,cy:t,r:_,children:_0x45c347(LinearGradient,{start:d.ATBbf(vec,e-_,d[n(316,"n7J!")](t,_)),end:vec(e+_,t+_),colors:[METAL[n(357,"jv8G")],METAL[n(449,"rcpH")],METAL.LIGHT,METAL[n(570,"K$KU")],METAL[n(541,")6uC")],METAL[n(261,"1KwR")]]})}),_0x45c347(Circle,{cx:e,cy:t,r:.8*_,children:_0x45c347(LinearGradient,{start:vec(e-_,d[n(565,"(5!L")](t,_)),end:vec(e+_,t+_),colors:[i,a,u]})}),d[n(419,"2NrK")](_0x45c347,Circle,{cx:e-.18*_,cy:t-d[n(388,"DWzK")](_,.22),r:.34*_,children:d[n(604,"&%!$")](_0x45c347,LinearGradient,{start:vec(e-.18*_,t-.58*_),end:vec(e-.18*_,t+.05*_),colors:[n(578,"@yZt"),d[n(405,"IVbp")]]})}),x?d[n(335,"aAi$")](_0x5f1fd2,_0x3c3946,{children:[_0x45c347(Line,{p1:d[n(279,"X2h1")](vec,e-d[n(474,"@yZt")](_,.42),t),p2:vec(e+.42*_,t),color:n(323,"a(C*"),strokeWidth:2}),_0x45c347(Line,{p1:vec(e,t-.42*_),p2:d[n(412,"jv8G")](vec,e,t+.42*_),color:"rgba(255,255,255,0.40)",strokeWidth:2}),_0x45c347(Circle,{cx:e,cy:t,r:d[n(472,"vdko")](_,.14),color:n(487,"K$KU")})]}):_0x5f1fd2(_0x3c3946,{children:[d.VyBBK(_0x45c347,Circle,{cx:e,cy:t,r:.3*_,color:n(563,"K$KU")}),_0x45c347(Circle,{cx:e,cy:t,r:d[n(586,"LBJq")](_,.22),children:d[n(543,"s7L)")](_0x45c347,LinearGradient,{start:d.sIpCx(vec,e,t-.3*_),end:vec(e,t+.3*_),colors:[u,a]})}),_0x45c347(Line,{p1:d[n(547,"yPsu")](vec,e-.16*_,t),p2:vec(d[n(525,"y^[w")](e,.16*_),t),color:"rgba(0,0,0,0.30)",strokeWidth:1.5}),_0x45c347(Line,{p1:vec(e,t-.16*_),p2:vec(e,t+.16*_),color:n(531,"(5!L"),strokeWidth:1.5})]})]})},useCellSig=(W,e)=>{const t=_0x3c8a5b,r={CPivz:function(W,e){return W(e)}}[t(332,"3^EF")](_0x12efee,3);let o;return r[0]!==e||r[1]!==W?(o=r=>{const o=t,n=r[o(595,"FGGo")][W]?.[e];if(!n)return"";const d=r[o(309,"&%!$")][n.id]?"1":"0",x=r[o(250,"PBAg")][n.id]??0;return n.type+":"+n[o(372,"4iM1")]+":"+d+":"+x},r[0]=e,r[1]=W,r[2]=o):o=r[2],usePipeConnectStore(o)},useCellRotation=(W,e)=>{const t=_0x3c8a5b,r={KxxJc:function(W,e){return W!==e},MvmnG:function(W,e){return W(e)}},o=_0x12efee(3);let n;return r[t(314,"FGGo")](o[0],e)||o[1]!==W?(n=r=>r[t(368,"dIui")][W]?.[e]?.[t(439,"n7J!")]??0,o[0]=e,o[1]=W,o[2]=n):n=o[2],r[t(361,"jv8G")](usePipeConnectStore,n)},PipeCellCanvas=_0x2589a5[_0x3c8a5b(539,"rcpH")](({row:W,col:e})=>{const t="a(C*",r=_0x3c8a5b,o={IxXRs:function(W,e,t){return W(e,t)},wIDJj:function(W,e){return W===e},vsbFZ:function(W,e,t,r,o,n){return W(e,t,r,o,n)},FmmpH:function(W,e){return W(e)},ytLnh:function(W,e){return W+e},bElzy:"none"},n=useCellSig(W,e),d=useCellRotation(W,e),x=useSharedValue(0),a=useRef(null);useEffect(()=>{const W=_0x145b,e=a[W(392,"IVbp")];a.current=d,null!==e&&e!==d&&(x[W(306,"8o*a")]=-90,x[W(393,"n7J!")]=o[W(433,"K$KU")](withTiming,0,{duration:170,easing:Easing[W(281,"(#0c")](Easing[W(418,"dIui")])}))},[d,x]);const i={};i[r(280,"yPsu")]=x[r(427,"yPsu")]+r(553,t);const u=o[r(614,"dec[")](useAnimatedStyle,()=>({transform:[i]})),_=o.IxXRs(useMemo,()=>{const t=r;if(!n)return null;const d=usePipeConnectStore[t(483,"BEY[")](),x=d[t(485,"BEY[")][W]?.[e];if(!x||o[t(431,"IVbp")](x.type,PipeType[t(254,"s7L)")]))return null;const a=!!d.filledCellIds[x.id],i=getOpenDirections(x),u=a?WATER:METAL;return x[t(402,"y^[w")]===PipeType[t(300,"jech")]||x[t(546,"3^EF")]===PipeType.SINK?o.vsbFZ(renderSourceSink,x,CX,CY,i,u):_0x5f1fd2(Group,{children:[renderPipeSegments(CX,CY,i,u),renderJoint(CX,CY,i,u),renderFlanges(CX,CY,i,u)]})},[n,W,e]);return _?_0x45c347(_0x11d482[r(373,"LBJq")],{style:[cellStyles[r(270,"LBJq")],{left:o[r(289,"y^[w")](GRID_PADDING,e*CELL_SIZE),top:GRID_PADDING+W*CELL_SIZE},u],children:o[r(351,t)](_0x45c347,Canvas,{style:cellStyles[r(284,"xWMk")],pointerEvents:o[r(404,"BQB3")],children:_})}):null},(W,e)=>W[_0x3c8a5b(623,"jech")]===e[_0x3c8a5b(395,"xWMk")]&&W[_0x3c8a5b(436,"jrzi")]===e[_0x3c8a5b(453,"3^EF")]);function _0x145b(W,e){W-=249;const t=_0x2b12();let r=t[W];if(void 0===_0x145b.LgREtU){const W=function(W,e){let t,r,o=[],n=0,d="";for(W=function(W){let e="",t="";for(let t,r,o=0,n=0;r=W.charAt(n++);~r&&(t=o%4?64*t+r:r,o++%4)?e+=String.fromCharCode(255&t>>(-2*o&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let W=0,r=e.length;W<r;W++)t+="%"+("00"+e.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(t)}(W),r=0;r<256;r++)o[r]=r;for(r=0;r<256;r++)n=(n+o[r]+e.charCodeAt(r%e.length))%256,t=o[r],o[r]=o[n],o[n]=t;r=0,n=0;for(let e=0;e<W.length;e++)r=(r+1)%256,n=(n+o[r])%256,t=o[r],o[r]=o[n],o[n]=t,d+=String.fromCharCode(W.charCodeAt(e)^o[(o[r]+o[n])%256]);return d};_0x145b.NKYiSG=W,_0x145b.TvZePB={},_0x145b.LgREtU=!0}const o=t[0];_0x145b.oYGnQg!==o&&(_0x145b.TvZePB={},_0x145b.oYGnQg=o);const n=_0x145b.TvZePB[W];return void 0===n?(void 0===_0x145b.aqcQWG&&(_0x145b.aqcQWG=!0),r=_0x145b.NKYiSG(r,e),_0x145b.TvZePB[W]=r):r=n,r}PipeCellCanvas[_0x3c8a5b(626,"2NrK")]="PipeCellCanvas";const _0x210e12={};_0x210e12[_0x3c8a5b(479,"LBJq")]="absolute",_0x210e12[_0x3c8a5b(416,"jrzi")]=CELL_SIZE,_0x210e12[_0x3c8a5b(386,")6uC")]=CELL_SIZE;const _0x540f65={};function _0x2b12(){const W=["FmoZk8o1WQz6WQpdPg8zbNdcRmor","WPtdSJ1QWOeWW5K4oqzvWQDuWPvCCCo2lGxcO8kk","WQiaWORdHSobaLtcGLdcPai","CSkNqCocqa","fCkyCCk3W5G","Ab7cNW","xx1W","j3qaW6BcQSkRWPTT","WP1onCk4WPy","W7ldGSkmlJe","WRqbWRzgnW","WPumW45sW7hdIG","W6LCEre","WRVdO8oXl8oz","hSk0c8k0","WPtcMSkCWOxdVMldGa","kCoiWPRdR0pcT8oeuCkDDdtdQCkmWOBdQmoGz8o5qmom","W4ldVCkLaHBcMLHz","lCkNlmkxW4i","lXVcNSoKiG","bb5KBIm","c0zOg03cTCoRWOxdSG","e8kGtrpcOG","W7ddIbldHmoh","WOlcNCocWO8","tmogr1zx","vstcVfLRW40C","ySorxNW","W6zdWOpdLwW","p8k/AmkL","tCkpW4VcVtNdOCkF","WQzNWP8/WOBcGmkgE1/cOW5Bj8kWjCoc","v8kfzSk6WOJcOW","W7qCha/cKqvsymkK","W74yW7T3","W6fFEbSs","wKzbWRxcGq","W53dTCkHaYe","WQ54W53cHGq","W5ldN8ouvW","WPTFmmk4","nf5qsG","tKdcKmknvwBdQa","ja4JvNO","gxfHBulcItFdRa","WRxdRSoW","pc5tqW","Fdb2vJS","W4nBmMPLrW4","WRxdPc1KBa","eqvBpmkplq","WReaWP3dGSof","WRHHW4hcGq","WPBcJCow","kCorW5hcNgK","W41hgG","WPddG8oTpCo2","emkfzahcGa","WQrjWQW","W5hdMCkfW5BdKJtcJq","ieu1","DSkgF34XW5XTlmoQW7hdTa","WR7dOmo6","WPtdSJ1QWOe4W4uKjWzjWRTiWPnCDa","BcDzrdS","WPPMWO8OW5W","W6W4W4rRWP/cHSkscqRdKuC6zq","WRzVWPWSW4O","W5BdKmkLWRq","rSoidmoBW4C6laRcTtKLdHiYodrtWR/dLmkWl0mmW7pcKG","WQVdNbS","W6fhoHypW6PU","WOTvW6lcTJVcQXa","WRjVWQldPZCfmq","uSovW78/WPqXaeG","fdq8vgC","W7XlWP8","uZ3cNffJ","WPTNWOO+W6pcMvKeuCoRWQbCstlcH2W7WRSUW6VcSW8","W4xcRw8YWP9jWQO","aCouWRBdPwu","W5qYid/cRW","CSo1W4GVWOy","F8koFa","W7i4gXtcRa","WOrDW7xcOsi","m0OTW67cKa","auvQnvu","xdFcUwDW","W6VdRmks","WPbqds4","W5pdScy","WPmoW4T+","WRpdP2GLWOBdNJa","WRldQCoqbqdcKYe","W5WUW5vw","v8o6W4iWWPS","W5ldUmkIbdy","BebEWQ7cSa","W5LJWQVdQfag","W4raEduf","WPDbWQ0bW6ldUCoTaYC","W7CvW7T6WPm","W7DEW4RdJMG","WPaqWRVdTmoM","CSk/a8ocxG","WRr0hSktWPC","FCo+sSkSW50WW7xcGa","gSodWOpdRG","gLL/huFcVCoRWOu","W5tdGSk0WR3dHmoEW7bVWRnSamoqW67dTIhdU2CnWRFcTeVdQa","wtXwzXpdMComWOZcHa","WRxdRCoTf8oH","W4VdIXJdQW","W5DhWORdKuW","c1HypCoT","BmogBmogWRZdLmooWRD7W5ldUMO","W6RdOmkqWOG","ymkiBM91WO04umk7WRdcP3uhWOZcLIqMWQ0","mSowW7ZcGq","WPCcyYy9","zCk/qCkg","W7KtW653WPJdH8oqqmoX","hX3cPa","WQr1WO42","W73dKaBdK8oL","lwbjlN7cKmotWPNdMmoiWRi","WRilWPDkm8kfWPG","WP7dImog","WODbW6BcPt/cRbe","uXVcO2zW","W4GOW4vEWQi","W5ZdLCovv8kj","W7CaWRrSWQ7cIea","W6VcTSkXsCkKWPRcRqvXW5TKWQW","WQzvWRWtWOldPsK","AMbJWPhcRfefaJq","atldIg7cSGBcUmk6","WRyCWORdNG","FXhdPq","WRqoWObq","WQ9WkGRcR8oKW4m","WR10g8ksWPe","nmkBuGtcVW","qmk6D8okqW","rmoAhCos","W5q4idZcIYLNw8kzse7dRG","jbddGg0p","WRWdWOm","k8o+WRtdJG","eGOdqvS","fSkDAtq","W4ddH8o7WRpcGa","l8kCg8kfW5W","WPPinqFcTq","W7RdN8oUFmkk","WQrXuuDwWR5u","fYBdIMG","WOzjuYtcICooW78","q8ozWP4","WQldLa1a","u8oWW5C","W5FdN8oqx8ktgG","W4RdKSk3bCknleq","vmkECmkmWQe","s05pWRVdMYzLFu9obh7dImkiCmoR","f0ePW4K","xCkdFSkNWPpcQW","WOOnW4HEW6O","WRZdTtnoCW","W6BcOXmxW70","WOTrW77cPsNcObxdIannWO07gLL2","W5tdQCkNba","wSkFzSkIWO7cOay","z8oNl8o+WQbF","W5tdN8kziXe","wczaDqtdJG","ecpcPG","bfe2W40","WObDW77cOclcPW","WP3dSZPvzmoa","xSobW7SSWPK+fW","u8oGW4O","WRqKvW","WR9rWPvGW53dN1m","x8oKqfLz","WPZcJCkbFmopkmoS","WRhcQCoHWRJdLuFdQ1G","ofzosgpcQa","WRyRW6z4W4RdUmk7W44ZW6TFqJq","nqldO0m","pCkTECkSWRTXWQtdOtLFAsVdT8kNW4vcW4JcVGKDWOeq","uY82nW/dLgO","iIFcH8oYjbZcMq","jXJdSvKU","WQKbtceh","pJ3cHSoSlHC","W6SMW6G","W4VdG8oUnmkwkuLK","WO0VstyT","CCkAFNW4W5nG","W7xdQYpdL8ow","y8kRxSkBWQi","gW4uxvy","WPqGWR7dVSo5","WQaaWPxdMSoib27cQv3cPs5Zsa","WOPVWOqWWRK","WPPAjCk2","WPaEDdO","W5RcMca/W6S","W7aKW4r4WQq","kSkakSkx","wSkTxmoBqa","WPtdSJ1QWOe4W4uKjWzjWRTiWPrzDa","WORdHmoLhSoL","WQddUZjBW6i","fmkvysy","C8o7W44sWRq","cXddVSoCaJBcPq","WOdcJ8otWOBcUttcJcz7nmkrW4v2AcqGWRWlx8kWWQH0","WOxcLmoUW6xdLmkOW7u","kSoCW6O","CHtcGxjkW7C","DSkRxmkyWQBcNq","W7JdVZVdNmoJW4/cOa","E0zgWPdcMG","c2b3bf0","pCkcCWNcRq","cWDkua0","xmoax3PM","WR1PeSkCWPC3","B1bVWPJcUa","W6RdRmkrWPtcUa","wmkcACoLzG","f8kFwmknW59jkq","DttcSfzA","lmk/ACk/W7yTW6u","W7ZdNWBdPSoVW7tcGtq","a8oFWP7dPa","W6FcUJWtW5y","WOHIWPSWWQFdNHHuo8kWW7Kf","WQ8+uX4Cs3S","W4ZdLW/dT8og","WRRdKWzO","WR16emkYWRu","WOVdOtfMy8ovhuX9","WOlcI8kC","WRVcKmoPWRxdOG","dYpcOt4","tSo1zvbzwa","jCk9tMKkW5j3","WQmQvW0rrgX7","og0cW63cQW","aSkbyYdcS8k0W6ldKW","WRH3gmksWPe","W4XcWOvm","W6qvdrtcKHS","hmkNsW3cOq","e3PUBq","WPhdJSoqpComW6JcPcrk","WQldPMfqWO/cQZWvqSkiusK1","W7vuDrviWRWIWPxcGSk9W6XfWO3dKgNdGfZcRSow","tCo7W4VdIutcKSkx","iWxcVuqM","W7FcOted","F8kFACo+vW","WOqMWQVdS8oYlMtcIa","WOVdHSkK","W7PSWQnMW77dMv/dNa","iK0GW5i","hvHuufm","W5JdKqC","WQqcvueLWRWN","ewv3f8oL","na7dOKlcLq","m3TzeN0","WP1Ogmk8WOy","h11Bl8o1","W5ZdK8oPdW","mZldI0lcIW","bsFdNN/cPG","WRdcP8oJWQldJLtdSf4","ghPRzL/cMq","oCk4xG","W4xdJSorbSky","vSoLF18","WP1Aj8kIWQCtW7ldJa","bbZcSmosgdBcUCo4","hCoMW4JcP3STW64","ySkQqSoyvW","fMzHvxW","WOZdVsm","W5ftngrNma5cdCkhE8o/yq","g11qlSo1W5u","W5/cI8od","aHldG0W6","WPzpWQ8BW7hdTmoRgtG","WPRcLCkVxSouFMPPD8ozmh8","uSoPFfi","D8o4W4apWQi","lCkpD8k3W6O","g8oBW5dcTLu","prtdQf/cGsBcLSkF","WRyLWQK","vmoqW6GL","WOTNW53cQbm","l2vvmwa","sshcRvz3W48ycG","fmkJxWhcTa","WQvHWRa","W6NdOSoDiG","WP/cN8kQx8oxCq8XDCofgfWDDq","W7bACWai","vCkJq1K","W7pcPJOoW50","h3b4hfK","WQpdTmoXea","jsaXDcRdLc8is8kphvNcSmkOy0mtW73dOq","WQxdH8ohmCoQ","W7H2WQrV","hmkftSkFW5agW47cL1OHe0W","W5JcMHqUW6RdNG","Eqb6xY/dQmoQWQlcRH4","xcHyyru","AMz4WOJcSfm","ALxcVHZdKhZcSCkBF8oFWO8e","W57cRwy+WPG+W5fwCNqaW5Ok","cCoAW77cN3q","h8okWOtdN3m","WQ/dRqDzW5O","W7GDW6XTWOVdISowwSoU","cXvmyXi","W6rCEW","hrL6FZi","WOqMWQVdS8oYmwtcGq","zSkKwSomrSofW5Gs","cSkoxmki","kmo8WQldUvm","otddMfCAW4aA","W4xdJ8ksWOZcMa","W6bMWR5GW6ldHa","WRiRW6HDWORcVa","w0zmWQJcL0eGkrCw","WOSGWR0","WQxdPJbkW4W","W7FdS8o1CCkVkW","ma3dRf/cGWlcNmkbAmowWPW","jqVdQvNcJW","WRhdOmoHe8o0W57cIGnVW55aWRNdOLLh","kZHp","Fg1QWP8","W7vwDHCuWQb6W4xdG8oGWOytW4dcGttcKc/dRCkAj8oxBbvVWPW","oXFcGb0","gCotWPFdV2K","W6y1W6PpWPRcPMq","dSoMW4NcVq","WR7cOCo2WQ/dHq","WQuCWOVdHmoidvK","nJZcMsul","W6SRW6m","xSkMs0yj","mSkKWP5tW6beAG","W5vRWRxdQG","q8oyWPZdR3G","WPBdTZ1eBCoh","W7qjW6H+WO7dJCou","lGyeuxy","W6vNW5O","WOOaW75MW4O","WO/dPG9NW4HXWOb6Ba","WRXoWQWmWR4","WQWIqbOb","WOyhAd0N","WRlcNmoyEhVcKIK","omkPFCk9W78","beS2W4ZcI8koWRvr","WQqal0byWRSV","hxPVBG","jSo5bCoCW7/dM3VdM8ovc8okd8kh","W4hdGmkIWO/cMmknWRe/","WQTpWRWlWOtdPG","W4hdL8k/WRG","W6KWW79CWP0","WPtdSJ1QWOe6W5WHjWrqWR5kWPjCAmoQmb7cPSkwFq","W6qncrpcIabuEG","WRBcQCoJWQW","umkoDCkR","W5j9tI0L","W6bbFHa2W6TLW5pdH8oGWRC","WQddTCo7fmo2","bbCwvLFcQLTV","WPyRW4LZWQa","gmk6c8k6W5xcSmoqWPi","W7hdHa7dOmoA","uSkgFCk5","WRqgWO3dL8ozbM7cQv3cPszJ"];return(_0x2b12=function(){return W})()}_0x540f65[_0x3c8a5b(551,"&%!$")]=CELL_SIZE,_0x540f65[_0x3c8a5b(468,"xWMk")]=CELL_SIZE;const _0x2d2afb={};_0x2d2afb[_0x3c8a5b(362,")6uC")]=_0x210e12,_0x2d2afb[_0x3c8a5b(327,"8o*a")]=_0x540f65;const cellStyles=StyleSheet[_0x3c8a5b(334,"ZthL")](_0x2d2afb),CELL_POSITIONS=[];for(let W=0;W<GRID_ROWS;W++)for(let c=0;c<GRID_COLS;c++){const e={};e[_0x3c8a5b(505,"K23u")]=W,e[_0x3c8a5b(375,"TXzK")]=c,CELL_POSITIONS[_0x3c8a5b(312,"d^1H")](e)}const GridBackgroundCanvas=_0x2589a5[_0x3c8a5b(342,"6yDt")](W=>{const e="sWc7",t=_0x3c8a5b,r={EKqSI:function(W,e){return W(e)},vWuvi:function(W,e){return W===e},cagOV:function(W,e){return W<e},vFEIy:function(W,e){return W*e},GVPya:function(W,e){return W+e},mhHyT:function(W,e){return W+e},zrcLo:function(W,e){return W!==e},wRuhH:t(512,"jrzi")},o=r[t(510,"jk*B")](_0x12efee,4),{boardWidth:n,boardHeight:d}=W;let x;if(r.vWuvi(o[0],Symbol[t(545,e)](t(455,"jrzi")))){x=[];for(let W=0;r[t(582,"t57O")](W,GRID_ROWS);W++)for(let o=0;r[t(348,"ZthL")](o,GRID_COLS);o++){const n=GRID_PADDING+r[t(422,e)](o,CELL_SIZE),d=r.GVPya(GRID_PADDING,r[t(422,"sWc7")](W,CELL_SIZE));x[t(524,"a(C*")](_0x45c347(RoundedRect,{x:n+1,y:r.mhHyT(d,1),width:CELL_SIZE-2,height:CELL_SIZE-2,r:4,color:C[t(275,"1tG$")]},t(407,"r%Dm")+W+"-"+o))}o[0]=x}else x=o[0];const a=x;let i;if(r[t(379,"2NrK")](o[1],d)||o[2]!==n){const W={};W[t(620,"d^1H")]=n,W[t(353,"y^[w")]=d;const e={};e[t(631,"FGGo")]=[StyleSheet[t(344,"@yZt")],W],e[t(293,"vdko")]=r[t(518,"TQyD")],e.children=a,i=_0x45c347(Canvas,e),o[1]=d,o[2]=n,o[3]=i}else i=o[3];return i});GridBackgroundCanvas[_0x3c8a5b(561,"^*BF")]=_0x3c8a5b(516,"6yDt");const GameAreaComponent=({settings:W})=>{const e=_0x3c8a5b,t={fNYSX:e(577,"K23u"),XLDZL:function(W,e){return W-e},lSUjK:function(W,e){return W-e},zmKAS:function(W,e){return W>=e},JKxXU:function(W,e){return W<e},qpwTr:function(W,e){return W(e)},EbEAb:function(W,e){return W+e},uiBzV:function(W,e){return W*e},hbsWJ:function(W,e){return W*e},LXABb:function(W,e,t){return W(e,t)},ZRjzK:function(W,e,t){return W(e,t)}},r=usePipeConnectStore(W=>W[e(492,"jrzi")]>0),o=usePipeConnectStore(W=>W[e(499,"&%!$")]),n=useRef(usePipeConnectStore[e(302,"DWzK")]().isPlaying);_0x2589a5[e(349,"xWMk")](()=>{const W=e,r={};r[W(597,"X2h1")]=t.fNYSX;const o=r;return usePipeConnectStore[W(611,"yPsu")](e=>{const t=W;if("uZFDr"===o[t(508,"ZthL")]){const W=qkqCJG[t(384,"1KwR")](_0x579386,_0x17b4b8);_0x5dbd8a.push(_0x48c59d(_0x1661c7,{x:qkqCJG[t(587,"2NrK")](_0x22f46a-_0x5e9fce,1),y:qkqCJG.WESRA(W,1),width:_0x41f234+2,height:_0x34891e+2,r:_0x3793a7,color:_0x1a42d6[t(285,"t57O")]},t(603,"dec["))),_0x4aff03[t(282,"LBJq")](_0x59b470(_0x26aeff,{x:_0x586717-_0x3133ea,y:W,width:_0x23eacd,height:_0x30690a,r:_0xf56aa,children:_0x16fb2d(_0x130009,{start:_0x481f7f(_0x33edbd-_0xe36795,W),end:_0x18025f(_0x580947+_0x120d9f,W),colors:[_0x1cdc6b[t(440,"BQB3")],_0x30e5e5[t(359,"4iM1")],_0x49a2af.LIGHT,_0x40d564[t(283,"1tG$")],_0x800563[t(460,"a(C*")],_0x4277e7[t(311,"ZthL")],_0x4aacce[t(454,"aAi$")]]})},t(267,"DWzK")))}else n.current=e[t(473,"K$KU")]})},[]);const d=t[e(432,"6yDt")](useRef,W);d[e(461,"&%!$")]=W;const x=t.EbEAb(t[e(257,"TQyD")](GRID_PADDING,2),t[e(513,"sWc7")](GRID_COLS,CELL_SIZE)),a=2*GRID_PADDING+GRID_ROWS*CELL_SIZE,i=useCallback((W,r)=>{const x=e;if(!n[x(340,"BQB3")])return;const a=Math.floor(t[x(331,"jv8G")](W,GRID_PADDING)/CELL_SIZE),i=Math[x(410,"2NrK")]((r-GRID_PADDING)/CELL_SIZE);t[x(258,"eOMz")](i,0)&&i<GRID_ROWS&&a>=0&&t[x(313,"dIui")](a,GRID_COLS)&&(x(588,"K23u")===x(441,"6yDt")?o(i,a,d[x(304,"^*BF")]):_0x26f2b8[x(524,"a(C*")](_0x5adfb1(_0x5b5dcd,{cx:_0x2bb519,cy:_0x26776b,r:KduqgZ[x(615,"zYIj")](_0x223d85,1),color:_0x4656a0[x(255,"jv8G")]},_0x5df1d3+x(301,"vdko"))))},[o]),u=t[e(537,"X2h1")](useCallback,(W,e)=>i(W,e),[i]),_=useMemo(()=>Gesture[e(560,"LBJq")]()[e(580,"6yDt")](W=>{runOnJS(u)(W.x,W.y)}),[u]),C=useMemo(()=>{const W=e;return r?CELL_POSITIONS[W(583,"^*BF")](({row:e,col:t})=>_0x45c347(PipeCellCanvas,{row:e,col:t},W(350,"a(C*")+e+"-"+t)):null},[r]);if(!r){const W={};W[e(343,"dIui")]=x,W[e(444,"4iM1")]=a;const t={};return t[e(493,"sWc7")]=[styles[e(567,"(5!L")],W],_0x45c347(View,t)}const s={};s[e(528,"dec[")]=x,s[e(266,"rcpH")]=a;const R={};return R[e(446,"aAi$")]=x,R[e(450,"1KwR")]=a,t[e(504,"BQB3")](_0x45c347,GestureDetector,{gesture:_,children:_0x5f1fd2(View,{style:[styles[e(298,"FxqP")],s],children:[_0x45c347(GridBackgroundCanvas,R),C]})})},_0x3483a0={};_0x3483a0[_0x3c8a5b(452,"sWc7")]=_0x3c8a5b(569,"8GLM"),_0x3483a0.borderRadius=16,_0x3483a0[_0x3c8a5b(406,"1KwR")]="hidden";const _0x4d919b={};_0x4d919b[_0x3c8a5b(321,"t57O")]=_0x3483a0;const styles=StyleSheet.create(_0x4d919b);export const GameArea=_0x2589a5[_0x3c8a5b(481,")6uC")](GameAreaComponent);GameArea[_0x3c8a5b(502,"&%!$")]=_0x3c8a5b(341,"TXzK");
@@ -1 +0,0 @@
1
- "use strict";const _0x554ecf=_0x132c;!function(){const e=_0x132c,o=_0x49e6();for(;;)try{if(518297==parseInt(e(389,"tx0d"))/1+parseInt(e(417,"ESfo"))/2*(-parseInt(e(397,"Zl)3"))/3)+-parseInt(e(419,"%e7$"))/4+-parseInt(e(402,"@y3i"))/5*(-parseInt(e(395,"ESfo"))/6)+parseInt(e(410,"aI]@"))/7+-parseInt(e(418,"ajj6"))/8+parseInt(e(405,"47$3"))/9)break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x5c1294}from"react/compiler-runtime";import _0xa92cfe from"react";function _0x132c(e,o){e-=385;const r=_0x49e6();let t=r[e];if(void 0===_0x132c.CvfkHU){const e=function(e,o){let r,t,n=[],a=0,W="";for(e=function(e){let o="",r="";for(let r,t,n=0,a=0;t=e.charAt(a++);~t&&(r=n%4?64*r+t:t,n++%4)?o+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let e=0,t=o.length;e<t;e++)r+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)a=(a+n[t]+o.charCodeAt(t%o.length))%256,r=n[t],n[t]=n[a],n[a]=r;t=0,a=0;for(let o=0;o<e.length;o++)t=(t+1)%256,a=(a+n[t])%256,r=n[t],n[t]=n[a],n[a]=r,W+=String.fromCharCode(e.charCodeAt(o)^n[(n[t]+n[a])%256]);return W};_0x132c.kDwBNt=e,_0x132c.QsAamA={},_0x132c.CvfkHU=!0}const n=r[0];_0x132c.aIeicX!==n&&(_0x132c.QsAamA={},_0x132c.aIeicX=n);const a=_0x132c.QsAamA[e];return void 0===a?(void 0===_0x132c.uQqfCR&&(_0x132c.uQqfCR=!0),t=_0x132c.kDwBNt(t,o),_0x132c.QsAamA[e]=t):t=a,t}import{View}from"react-native";import{useScore,useTime}from"../PipeConnectStore.js";import{formatScore}from"../PipeConnectService.js";import{ScoreBoardContainer,ScoreValue,ScoreTimer,scoreBoardStyles as _0x3e1e24}from"../../../helpers/index.js";import{jsx as _0x31669c,jsxs as _0x3fea46}from"react/jsx-runtime";export const ScoreBoard=_0xa92cfe[_0x554ecf(392,"ODl2")](e=>{const o="ajj6",r=_0x554ecf,t={};t[r(407,"nvZ*")]=function(e,o){return e!==o},t[r(391,"JLGo")]=function(e,o){return e!==o},t[r(404,"P3&y")]=r(387,"aI]@"),t.rbMfk=function(e,o){return e!==o};const n=t,a=_0x5c1294(10),{offset:W}=e,s=void 0===W?0:W,f=useScore(),i=useTime();let x,d,m,u;if(a[0]!==f){const e={};e[r(393,"00JM")]=f,e[r(415,"z$Lp")]=formatScore,x=_0x31669c(ScoreValue,e),a[0]=f,a[1]=x}else x=a[1];if(n[r(409,o)](a[2],i)){const e={};e.seconds=i,e[r(385,o)]=0,d=_0x31669c(ScoreTimer,e),a[2]=i,a[3]=d}else d=a[3];if(n[r(400,"5Oe1")](a[4],x)||a[5]!==d)if(r(388,"JLGo")!==n[r(386,"47$3")]){const e={};e.style=_0x3e1e24[r(396,"k$)V")],e[r(416,"amh#")]=[x,d],m=_0x3fea46(View,e),a[4]=x,a[5]=d,a[6]=m}else _0xe54628=_0x3848de[6];else m=a[6];if(n[r(401,"6zbK")](a[7],s)||n[r(420,"RaaP")](a[8],m)){const e={};e.offset=s,e[r(413,"5Oe1")]=m,u=_0x31669c(ScoreBoardContainer,e),a[7]=s,a[8]=m,a[9]=u}else u=a[9];return u});function _0x49e6(){const e=["csjTW5vSg2NcKruCW41a","W71HlJ/dGq","eCkCw2TK","WRD0rNzF","xa3dRmkSaCkoqt9OW7XjBq","WRHPBSo6ibmWW57cOSkHWPZcGa","WOHuxKH4","W5PYwCkR","WR01WPhdTe0","oHZdSKdcQSoQW5u","WPDXWRpdRa7dL8oa","W7G+kq","uSoQW5NdPMerW5DIWQ1qW7yw","WP/cTmkvFSkaWO/cGMJdUCo8D8kehW","e8kaa3fZW7RcQsjBWPuWW4mW","mwtdQN0D","W4hdReFcRmkB","WP7cS8kAC8kbeaKZWR7cLmkymSkl","W7m+W71wWR7dGSoOxSo6rmkqWPG","wrNdTLxcGG","WPaGshZcSsZcMmobW59DW5hdI8k1","i8kpFLzjeCkZW7RdV2pdMq","WRSlt8opsa","W709W7PAWRNdGmkuFSokzSkmWOTj","cWX4W69I","C8ouoH8qq8o+W5FdTKVdTmkJWRe","W5vfWQNcTa/cLCoIDa","WOlcKCoPW5e7W6ddOcPqeq","h2NdKKCFWQNcQc0","W7CdpY0TWQKVBSkyf8o8W7Xn","WPFcQ8oPWRxcPCoUW4GTWRC","n8o/pSkOWP/cHJO9","WPa2WR/dGqNdKComrW","uNSUWRe1wd7cKJq8W7vYsq","WOfaW55oaCkWr8ozvSktrthdHa","W6NdP8k7WR/cOa"];return(_0x49e6=function(){return e})()}ScoreBoard[_0x554ecf(406,"aI]@")]=_0x554ecf(412,"uYnj");
@@ -1 +0,0 @@
1
- "use strict";function _0x265d(o,t){o-=183;const W=_0x3fbd();let e=W[o];if(void 0===_0x265d.TfzBjr){const o=function(o,t){let W,e,r=[],d=0,n="";for(o=function(o){let t="",W="";for(let W,e,r=0,d=0;e=o.charAt(d++);~e&&(W=r%4?64*W+e:e,r++%4)?t+=String.fromCharCode(255&W>>(-2*r&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let o=0,e=t.length;o<e;o++)W+="%"+("00"+t.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(W)}(o),e=0;e<256;e++)r[e]=e;for(e=0;e<256;e++)d=(d+r[e]+t.charCodeAt(e%t.length))%256,W=r[e],r[e]=r[d],r[d]=W;e=0,d=0;for(let t=0;t<o.length;t++)e=(e+1)%256,d=(d+r[e])%256,W=r[e],r[e]=r[d],r[d]=W,n+=String.fromCharCode(o.charCodeAt(t)^r[(r[e]+r[d])%256]);return n};_0x265d.CQxmZu=o,_0x265d.opZkkm={},_0x265d.TfzBjr=!0}const r=W[0];_0x265d.bhYMTC!==r&&(_0x265d.opZkkm={},_0x265d.bhYMTC=r);const d=_0x265d.opZkkm[o];return void 0===d?(void 0===_0x265d.JFDvXQ&&(_0x265d.JFDvXQ=!0),e=_0x265d.CQxmZu(e,t),_0x265d.opZkkm[o]=e):e=d,e}const _0x49600f=_0x265d;function _0x3fbd(){const o=["hSoWCWf+W65JugStFam","WRtdUqBcHXrdW5v2W5lcOCkDWRy","C3ZcMSkKWPRcP8ovW5C","WPawwstdMbWAW57cMKFdJIi","exhcP1ddOW","B8oXyuyjW4JcO8koW5mkWQlcRxS","WObDWONcMCoGWRVdJJ7cI8o4WRaW","WOJcG8kYW5bnW5TcW7RdNdpcNCkzW5bJvSo4euyaWRLs","smobDKiO","WOJcJSk5W4DdW6H3","nuZcV20","s8ofzNBcJ23cR1BcNmkEuX9DW4pcHCouW4dcLu7cSmo7WOJcOfBdSeuIW4KC","WORdVSocjcVdThddT8oDgJvFWOlcIG","WQFcL8kXW7RcVxlcHtddMSoxf8oJFa","W7/dKmovWQBdVdhdKGy","pSodWPxdPs09cY0","c8oQW7unWPVdMM4","WQBdJ8oLie/cH8oIf8kMe1Ta","WRmaW5D6fa4","reNcQ39N","C37cSftdNq","WOVdLtrjwdBdICosWRa","WOiWeezZW7pcVCoPWODv","W6lcTGKZWQicfXddPSkzd8oW","BCoLpmkfkq","kdVdVSo6W5ZcP8ocW7rIbSkA","W6NdLmoFWORdJG","smkPj1mAWRfJF1CXvIy","W7xdJ8oGWQJdOJtdHW","FwRcVSkzWOVcVSoEW5f6bmkmWOhcV8kAW6FcG1DcBmo0bchdICkfigy","WQHQW77cHCoze3O","WQVdPHbOuWZdRCoTWOCdWRxdOW","WONcN8kVW7RdNv/cGsm8gSoGEq","W7dcNSoBf07cMSoiiq","W4JcUSoWbaRdH1BdIq","WR8CmuddOa","WOqdwZhdIXqAW57cVhZdHIen","s8orBg4/","WRCaW5b6cbi","A0RcQ8kJkJPNuLNdLd0","W5FdJMRcNJa","pmoiW5RcUN8lfIX3p0e","WOdcG1hdGXa","nqhdLIRcPGL8WRCboCk+ra","W7qDWOTkWP4","W5uoW5pdJ8kgW6dcMJ/cQCoaWR44W6K","W4bPuHy","W4jmqWBcQqKKxWNdLZ9Efa","c07cRwBdPW","omojW5JcVhHwwrTcg1ldH8k0","WQ1+W7hcGSoHh2tdHSofoJuW","kZ3cQCkNWQFcJCoNW4m","lCk3BvOdW7pcMCkB","WQZdRGWmq0OaWPC","ofldMMtdOfhcRJ17urFdJa","zhtcGCkpeW","W6iyWQHfWPJdNmor","ALJcJ2HZa8oo","a1pcTL3dNG"];return(_0x3fbd=function(){return o})()}!function(){const o="*o%H",t=_0x265d,W=_0x3fbd();for(;;)try{if(327380==-parseInt(t(216,"1vF7"))/1*(parseInt(t(231,"1Qsq"))/2)+parseInt(t(203,"EbYp"))/3+-parseInt(t(209,"OVAR"))/4*(parseInt(t(197,"7c$R"))/5)+parseInt(t(199,"h2ON"))/6+-parseInt(t(237,"xi#t"))/7*(-parseInt(t(240,o))/8)+parseInt(t(205,"7c$R"))/9*(-parseInt(t(190,"VYO0"))/10)+-parseInt(t(183,"uo1N"))/11*(parseInt(t(207,o))/12))break;W.push(W.shift())}catch(o){W.push(W.shift())}}();import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";import{POPIT_FIDGET_GAME_CONFIG as _0x5571e4,POPIT_FIDGET_ANIMATION_CONFIG as _0x235abb,POPIT_FIDGET_COLORS as _0x5a68f0,RAINBOW_COLORS,BUBBLE_COLORS}from"./PopitFidgetConstants.js";export{_0x5571e4 as GAME_CONFIG,_0x235abb as ANIMATION_CONFIG,_0x5a68f0 as COLORS,BUBBLE_COLORS};export class PopitFidgetService{[_0x49600f(232,"rOXU")]=null;constructor(){}generateFidgetGrid(){const o=_0x49600f,t={};t[o(196,"(%CK")]=function(o,t){return o+t},t[o(211,"nUbU")]=function(o,t){return o*t};const W=t,e=_0x5571e4[o(236,"w0h&")],r=_0x5571e4[o(195,"nUbU")],d=1.12*r,n=W[o(214,"A3L8")]((e-1)*d,r),s=(e-1)*d+r,f=[];for(let t=0;t<e;t++){f[t]=[];for(let n=0;n<e;n++){const s=W[o(241,"pJca")](n*d,r/2),a=W[o(204,"A3L8")](t,d)+r/2;f[t][n]={id:t+"-"+n,row:t,col:n,x:s,y:a,isPopped:!1,color:this.getRainbowColorForPosition(t,e)}}}const a={};return a.size=e,a[o(212,"qLDc")]=f,a.centerX=n/2,a[o(224,"mhs2")]=s/2,a[o(198,"4!GQ")]=n,a[o(194,"CmYI")]=s,a}[_0x49600f(185,"*o%H")](o,t){return RAINBOW_COLORS[o%RAINBOW_COLORS[_0x49600f(233,"CmYI")]]||RAINBOW_COLORS[0]}[_0x49600f(222,"mhs2")](o){const t=_0x49600f;for(let W=0;W<o[t(202,"xi#t")];W++)for(let e=0;e<o[t(225,"A3L8")];e++){const r=o[t(213,"Vxc&")][W]?.[e];if(r&&!r[t(217,"*o%H")])return!1}return!0}[_0x49600f(226,"[r1C")](o){const t=_0x49600f,W={};W[t(191,"EbYp")]=function(o,t){return o>t},W[t(223,"v32s")]=function(o,t){return o*t};const e=W;let r=0,d=0;for(let W=0;W<o[t(225,"A3L8")];W++)for(let e=0;e<o.size;e++){const n=o[t(186,"Xi62")][W]?.[e];n&&(r++,n[t(229,"yaUY")]&&d++)}return e[t(234,"Vxc&")](r,0)?e.TDxtf(d/r,100):0}[_0x49600f(227,"VYO0")](o,t,W){const e=_0x49600f,r={};r[e(193,"v32s")]=e(200,"qLDc");const d=r;this.stopGameTimer();let n=o;this.gameTimerRef=setGameInterval(()=>{const o=e;n-=1,t(n),n<=0&&(d[o(219,"A3L8")]===d[o(239,"^UTF")]?(this.stopGameTimer(),W()):_0x3e0e82++)},1e3)}[_0x49600f(192,"CB2U")](){const o=_0x49600f;this[o(215,"uo1N")]&&({sFTKN:function(o,t){return o(t)}}[o(235,"h2ON")](clearGameInterval,this[o(221,"Wqtr")]),this.gameTimerRef=null)}[_0x49600f(184,"yaUY")](){this[_0x49600f(220,"v32s")]()}}
@@ -1 +0,0 @@
1
- "use strict";const _0x1704f7=_0x17b3;function _0x17b3(W,e){W-=198;const t=_0x1df9();let o=t[W];if(void 0===_0x17b3.PrGoCD){const W=function(W,e){let t,o,r=[],d=0,n="";for(W=function(W){let e="",t="";for(let t,o,r=0,d=0;o=W.charAt(d++);~o&&(t=r%4?64*t+o:o,r++%4)?e+=String.fromCharCode(255&t>>(-2*r&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let W=0,o=e.length;W<o;W++)t+="%"+("00"+e.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(t)}(W),o=0;o<256;o++)r[o]=o;for(o=0;o<256;o++)d=(d+r[o]+e.charCodeAt(o%e.length))%256,t=r[o],r[o]=r[d],r[d]=t;o=0,d=0;for(let e=0;e<W.length;e++)o=(o+1)%256,d=(d+r[o])%256,t=r[o],r[o]=r[d],r[d]=t,n+=String.fromCharCode(W.charCodeAt(e)^r[(r[o]+r[d])%256]);return n};_0x17b3.mMjmdb=W,_0x17b3.zquAKO={},_0x17b3.PrGoCD=!0}const r=t[0];_0x17b3.IkAaJD!==r&&(_0x17b3.zquAKO={},_0x17b3.IkAaJD=r);const d=_0x17b3.zquAKO[W];return void 0===d?(void 0===_0x17b3.mbblJd&&(_0x17b3.mbblJd=!0),o=_0x17b3.mMjmdb(o,e),_0x17b3.zquAKO[W]=o):o=d,o}!function(){const W=_0x17b3,e=_0x1df9();for(;;)try{if(986464==parseInt(W(266,"PiE5"))/1+-parseInt(W(272,"&rN&"))/2+-parseInt(W(230,"[Y6B"))/3+-parseInt(W(267,"zTv8"))/4*(-parseInt(W(273,"uj8s"))/5)+-parseInt(W(288,"P]gQ"))/6*(parseInt(W(268,"YeGn"))/7)+-parseInt(W(227,"eoUy"))/8*(parseInt(W(217,"x$IV"))/9)+parseInt(W(282,"*U8c"))/10)break;e.push(e.shift())}catch(W){e.push(e.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{POPIT_FIDGET_GAME_CONFIG}from"./PopitFidgetConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";function _0x1df9(){const W=["W6rZWPXHW4FdQ1OKdubbeCo+","gCkHdSoinaLFWP3dL8okaWWB","kSkeW7zTtLWtB8k8WRy2xqC","BSoncCo0W5CtvSoMsJ0DWRVcIq","WQrdWQCKAZ7dOG","WQPrWPOUtchdQva","W59tW41ln8ofW75fBwbaWRZdSW","WOlcLmoAW5ioFxCUzWq","WRC0W4CXWP7cUbSXkKvii8or","WO3cJSoUW5KkCfKYAq","Dmo6mSkNBmozWPmd","W7NcL8kBECkXx3hdJsP/W6rzFa","WQeOW4G2WQdcUaualfTrkmos","WQKLWRq4xSk4WPTdBv1RWR7dSq","WOigW4pdUhP1h8klWRy","k8kLd8kHrSoIWQCRcSoa","amkCWOhcMCkLyCkCyI1LmCk3W6i","WQpcVmoZW7a0twuotZqmmCot","pWZcU3uah0e","W6/cTSoOxY7dJCkBW7y","grqKWPlcRW","W4ldNGNcJSoDiKJdJbddUdrNtG","W58LAWWjbSoT","W43cLxuWC2LSW4PEgCkxhh8","cSkPdSoimqnC","W5eLWOtdPqq3eXG","vCkyW6HGW74+W57dOepcH8kah8oY","oCkmW7zTu08BFa","W6FcHmkhACkM","gSoMwhmIuftcK8ktWP7cTLi","WOBcNrNdUYreW4Ss","WOKaW7hdTNDPjCkrWRa3W6/cPa","omkzWRtcSmk9","wmkVW5VdLWBdNMa","cZlcOCk0","W6/cI8kuFSkpx0/dMcjLW6He","d2D4Bb4","W7VcLSodwbC","W7RdVmofCWZcUmoZlSkB","WPyLW6TOW4K","rCkRWQKvW6K","W445CWS","W7VcTmoQsaq","W6ZdRbtcPmoYfNJdUG","fxDhCHOCsSkTWPO","g2v6EZqtrSkX","W5BdMbddTGPYW5eMW5K","W6RcN8kBECkSthNdNG","a3hcUCo9W6HNWRddUCkTlG","WRRcGSoteJpcOmk+WOOun3xdRYq","qmkXWPJcVCkYq8kq","W6KZW5ubrMffemo0cMtcRq","WPGCW6NdSq","oSkJWQJdUdPUWReAW5iwW6K","WRBcKupcMCk4WOCxWPdcIILxW7W","W6ddKfJcJeVcLeFcS2RdTKbzja","usVdRCkIWRWQW4FdOSk0dG5XWO0","W7qrW793c2JdO13cU1xdPZS","WQPrWPOTxsJdPvRcQq","W5OXzaSQfCo7W50","W6ddIqeGyW","W5ZdG8kQW6ddKSkxnmoREa","W6OZW5apqgeAemoXi2ZcOCoF","WQmrW71SW6S","Fmk2W6pdOq","W7vgEt/dKxVcKCoRW48DW60lsCoB","omk+WR/dNhqRtSohWPRdP8klW5ZdMq","hZRcTSk0W5DJja","WQXkWOVcM8oJwqTbEGe","WR5mWPVcNCoQBZLrCqKmW4m","CmkSW4DhW40FW7JdOM3cO8k5nCoy","sCkHtNumC1FcSG","s8kHW4ldKZ3dS3VdTSouWRZdHXq","WRX1WOjvht15dCoGe2pcNW","oHJcThi7fvZcKCoMWRuaWOPc","W5ldKCkxW6NdPmkbmW","ddlcTSk0W5jPj0vahKZdMse","rCkHWRWc","FCoLWQBdNwqiC8oZ","nmkiAmkQWOrFd8obva","W6hcPmovvGddGSkxW6RcJa","WO7cNhtcRf0YWOGCW7/cP8kTWRHP","B8oBWQ4WkW1iySkgWPeoqsm","WPm0W79hW5bxySkxW5y","hNf1FbCaCmk3WPWqemoy","W5JdII3dVYr9W506","WQuei2xcJsRdLW","W6hcPmovvrhdI8kBW6a","ymkuFKOUW7VdLNOrW77cSCk+CG","WPTgdJldKq","gI7cUCkZW6XPoq","lJzsiem","WQXwW7rplCogW4O","FCoLW6VcIXn4eCoJWRVdVmkBW6xdTq","hauWWR3cTMOsW43cOa"];return(_0x1df9=function(){return W})()}export const usePopitFidgetStore=create()(subscribeWithSelector(immerMiddleware((W,e)=>({timeRemaining:POPIT_FIDGET_GAME_CONFIG[_0x1704f7(243,"9C6z")],isPlaying:!1,gameOver:!1,gameWon:!1,fidgetGrid:null,bubblesPopped:0,totalBubbles:0,score:0,bubbleStates:{},startGame:(e=POPIT_FIDGET_GAME_CONFIG[_0x1704f7(238,")9w#")])=>{W(W=>{const t=_0x17b3;W[t(216,"2RFU")]=!0,W[t(262,"yiVw")]=!1,W[t(241,"XzZc")]=!1,W[t(228,"41F#")]=e,W[t(287,"9C6z")]=0,W[t(259,"V!*R")]=0})},stopGame:()=>{W(W=>{const e=_0x17b3;W[e(205,"2)WO")]=!1,W[e(264,"41F#")]=!0})},resetGame:()=>{W(W=>{const e=_0x17b3;W[e(229,"x$IV")]=POPIT_FIDGET_GAME_CONFIG[e(234,"rf%#")],W[e(202,"V!*R")]=!1,W[e(242,"^uT%")]=!1,W[e(292,"%@fb")]=!1,W.fidgetGrid=null,W[e(225,"x$IV")]=0,W[e(286,"4]w1")]=0,W[e(257,"*wAv")]=0,W[e(248,"&9xa")]={}})},setFidgetGrid:e=>{const t=_0x1704f7,o=e[t(258,"c*iO")]*e[t(269,"&9xa")];({jzquE:function(W,e){return W(e)}})[t(245,"41F#")](W,W=>{const r=t;W[r(285,"4]w1")]=e,W[r(289,"vY3y")]=o,W[r(240,"tJ79")]=0,W[r(246,"P]gQ")]={};for(let t=0;t<e[r(281,"tR2p")];t++)for(let o=0;o<e[r(199,"*wAv")];o++){const d=e[r(239,"c*iO")][t]?.[o];if(d){const e={};e[r(209,"V!*R")]=!1,W.bubbleStates[d.id]=e}}})},popBubble:(e,t)=>{const o=_0x1704f7,r={oWcOc:function(W,e){return W+e},sAFbv:function(W,e){return W-e},LYVCJ:function(W,e,t,o){return W(e,t,o)},YVRGZ:function(W,e){return W(e)}};r[o(280,"2)WO")](W,W=>{const d=o;if(!W[d(224,"rf%#")])return;const n=W[d(285,"4]w1")][d(212,"R$1(")][e]?.[t];if(!n)return;const i=W[d(290,"YeGn")][n.id];if(i?.[d(260,")9w#")])return;if(W[d(206,"yiVw")][n.id]={isPopped:!0},W.bubblesPopped=W[d(210,"GhE@")]+1,W[d(213,"1&Ow")]=r.oWcOc(W[d(253,"yiVw")],100),W[d(263,"acw*")]&&W[d(291,"WZbV")]>=W[d(271,"zXC9")]){const e=r[d(254,"V!*R")](POPIT_FIDGET_GAME_CONFIG.GAME_DURATION,W[d(218,"XzZc")]);W[d(213,"1&Ow")]=r.LYVCJ(calculateTimeBasedScore,e,POPIT_FIDGET_GAME_CONFIG[d(223,"[Y6B")],W.score),W[d(231,"&9xa")]=!1,W[d(221,"B$rs")]=!0,W[d(244,"$T7C")]=!0}})},decrementTime:()=>{const e=_0x1704f7,t={SlKJG:e(270,"tR2p"),uxqXc:"YXZuA",YFGvd:function(W,e){return W(e)}};t[e(277,"%2x^")](W,W=>{const o=e;({})[o(237,"2RFU")]=t.SlKJG,W[o(219,"$T7C")]>0&&(W.timeRemaining=W[o(283,"[Zgm")]-1),W[o(226,"rf%#")]&&W[o(198,"R$1(")]<=0&&("YXZuA"===t[o(211,"^UPb")]?(W[o(261,"yiVw")]=!1,W[o(235,"WZbV")]=!1,W[o(236,"V!*R")]=!0):_0x51f4c2(W=>{const e=o,t=rYTirL[e(256,"2)WO")].split("|");let r=0;for(;;){switch(t[r++]){case"0":W[e(284,"R$1(")]=!1;continue;case"1":W[e(207,"acw*")]=!1;continue;case"2":W.bubblesPopped=0;continue;case"3":W.score=0;continue;case"4":W.timeRemaining=_0x4e3f13;continue;case"5":W[e(275,"B$rs")]=!0;continue}break}}))})},checkGameLost:()=>{const t=_0x1704f7,o=e();o.isPlaying&&o[t(233,"zTv8")]<=0&&W(W=>{const e=t;W[e(278,"%@fb")]=!1,W[e(250,"vY3y")]=!1,W.gameOver=!0})},checkGameWon:()=>{const t=_0x1704f7,o=e();if(!o[t(232,"eoUy")])return;let r=!0;for(let W=0;W<o.fidgetGrid[t(251,"R$1(")];W++){for(let e=0;e<o.fidgetGrid.size;e++){const d=o[t(265,"uj8s")][t(208,"*U8c")][W]?.[e];if(d){const W=o[t(252,"41F#")][d.id];if(!W?.[t(222,"B$rs")]){r=!1;break}}}if(!r)break}r&&o[t(255,"CWNN")]&&{LlXLJ:function(W,e){return W(e)}}[t(249,"zTv8")](W,W=>{const e=t;W[e(201,"rgDg")]=!1,W.gameWon=!0,W[e(276,"c*iO")]=!0})}}))));
@@ -1 +0,0 @@
1
- "use strict";const _0x1c85b8=_0x3af5;!function(){const e=_0x3af5,t=_0x4637();for(;;)try{if(950630==-parseInt(e(281,"As67"))/1+-parseInt(e(274,"4TG^"))/2*(-parseInt(e(327,"I$0J"))/3)+-parseInt(e(290,"!mZt"))/4+-parseInt(e(323,"O^Ws"))/5+-parseInt(e(329,"Wxco"))/6*(-parseInt(e(301,"uGmL"))/7)+-parseInt(e(310,"oHT5"))/8*(parseInt(e(296,"x[Vj"))/9)+parseInt(e(339,"%h50"))/10*(parseInt(e(286,"E*v("))/11))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import _0x5d2cdb,{useMemo}from"react";import{View}from"react-native";import{Canvas,Circle,Group,LinearGradient,RadialGradient,vec}from"@shopify/react-native-skia";import _0x34ee4e,{useSharedValue,useAnimatedStyle,withTiming}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{runOnJS}from"react-native-reanimated";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{usePopitFidgetStore}from"../PopitFidgetStore.js";function _0x3af5(e,t){e-=258;const r=_0x4637();let o=r[e];if(void 0===_0x3af5.IMIXGO){const e=function(e,t){let r,o,a=[],n=0,d="";for(e=function(e){let t="",r="";for(let r,o,a=0,n=0;o=e.charAt(n++);~o&&(r=a%4?64*r+o:o,a++%4)?t+=String.fromCharCode(255&r>>(-2*a&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)r+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),o=0;o<256;o++)a[o]=o;for(o=0;o<256;o++)n=(n+a[o]+t.charCodeAt(o%t.length))%256,r=a[o],a[o]=a[n],a[n]=r;o=0,n=0;for(let t=0;t<e.length;t++)o=(o+1)%256,n=(n+a[o])%256,r=a[o],a[o]=a[n],a[n]=r,d+=String.fromCharCode(e.charCodeAt(t)^a[(a[o]+a[n])%256]);return d};_0x3af5.LHYmdj=e,_0x3af5.bfWRFD={},_0x3af5.IMIXGO=!0}const a=r[0];_0x3af5.TCmkYj!==a&&(_0x3af5.bfWRFD={},_0x3af5.TCmkYj=a);const n=_0x3af5.bfWRFD[e];return void 0===n?(void 0===_0x3af5.VRejZU&&(_0x3af5.VRejZU=!0),o=_0x3af5.LHYmdj(o,t),_0x3af5.bfWRFD[e]=o):o=n,o}import{jsx as _0x34aaa5,jsxs as _0x4901ff}from"react/jsx-runtime";const BUBBLE_3D_CACHE=new Map,getBubble3DColors=e=>{const t=_0x3af5;let r=BUBBLE_3D_CACHE.get(e);return!r&&(r={highlight:lighten(e,.55),dark:darken(e,.45),rim:{yIbmO:function(e,t,r){return e(t,r)}}[t(334,"Wxco")](darken,e,.25),poppedDark:darken(e,.55)},BUBBLE_3D_CACHE[t(261,"c2wR")](e,r)),r},SPECULAR_COLORS=["rgba(255, 255, 255, 0.50)",_0x1c85b8(338,"o*tP")],INNER_HIGHLIGHT_COLORS=[_0x1c85b8(268,"3#lO"),_0x1c85b8(258,"c2wR")],RIM_LIGHT_COLORS=[_0x1c85b8(318,"I$0J"),_0x1c85b8(282,"!g4O")],RIM_SHADOW_COLORS=[_0x1c85b8(269,"[tQ)"),_0x1c85b8(297,"B$mk")],POPPED_CONCAVE_COLORS=["rgba(0, 0, 0, 0.35)",_0x1c85b8(326,"RSX0"),_0x1c85b8(330,"E71N")],POPPED_HIGHLIGHT_COLORS=[_0x1c85b8(287,"%GdO"),_0x1c85b8(295,"4TG^")],BubbleComponentInner=({bubble:e,size:t,onPop:r,hapticEnabled:o=!0})=>{const a="[tQ)",n=_0x1c85b8,d={XiYBa:function(e,t,r){return e(t,r)},MvRjr:function(e,t){return e(t)},iFOBw:function(e,t){return e(t)},xpVbF:function(e,t,r){return e(t,r)},LMBjb:function(e,t){return e/t},XGcnY:function(e,t,r){return e(t,r)},PQlFM:function(e,t){return e-t},ONIcU:function(e,t){return e*t},aMECA:function(e,t,r){return e(t,r)},oZzSA:function(e,t,r){return e(t,r)},RNZos:function(e,t){return e-t},jbyVn:function(e,t){return e*t},YrdbR:function(e,t){return e-t}},W=usePopitFidgetStore(t=>!!t.bubbleStates[e.id]?.[n(293,"O^Ws")]),i=d[n(309,"niGH")](usePopitFidgetStore,e=>e[n(267,"E71N")]),x=d[n(306,"oHT5")](useSharedValue,1),s={};s[n(331,a)]=x[n(264,"T*R[")];const l=d[n(315,"PkGJ")](useAnimatedStyle,()=>({transform:[s]})),u=_0x5d2cdb[n(311,"T*R[")](r);u[n(263,"!g4O")]=r;const C=_0x5d2cdb.useRef(()=>{const e=n;playHaptic(HapticType[e(328,"[tQ)")],o||!1),u[e(319,"RSX0")]()})[n(275,"8YLq")],f=d[n(314,"!g4O")](useMemo,()=>Gesture[n(276,"xSO]")]().enabled(!W&&i)[n(324,"5yeV")](()=>{const e={};e[n(260,"B&%1")]=50,x.value=withTiming(.95,e)})[n(266,"9U2x")](()=>{const e=n,t={};t[e(260,"B&%1")]=100,x[e(280,"oHT5")]=d[e(278,"O^Ws")](withTiming,1,t)})[n(333,"x[Vj")](()=>{runOnJS(C)()}),[W,i,x,C]),O=useMemo(()=>({position:"absolute",left:e.x-t/2,top:e.y-t/2,width:t,height:t}),[e.x,e.y,t]),_=useMemo(()=>({width:t,height:t}),[t]),m=d[n(292,"(iqF")](t,2),R=useMemo(()=>getBubble3DColors(e[n(259,"RSX0")]),[e[n(289,"(iqF")]]);return W?_0x34aaa5(View,{style:O,children:d.XGcnY(_0x4901ff,Canvas,{style:_,children:[_0x34aaa5(Circle,{cx:m,cy:m,r:d.PQlFM(m,1),children:_0x34aaa5(RadialGradient,{c:vec(m,m),r:m,colors:[R[n(321,"feli")],R[n(272,"B$mk")]]})}),_0x34aaa5(Circle,{cx:m,cy:m,r:m-4,children:_0x34aaa5(LinearGradient,{start:vec(.15*t,d.ONIcU(t,.15)),end:d[n(299,"oHT5")](vec,.85*t,.85*t),colors:POPPED_CONCAVE_COLORS})}),_0x34aaa5(Circle,{cx:d.ONIcU(t,.6),cy:.62*t,r:.12*t,children:_0x34aaa5(RadialGradient,{c:vec(.6*t,.62*t),r:.12*t,colors:POPPED_HIGHLIGHT_COLORS})})]})}):_0x34aaa5(GestureDetector,{gesture:f,children:_0x34aaa5(_0x34ee4e[n(304,"W0^A")],{style:[O,l],children:_0x34aaa5(Canvas,{style:_,children:d[n(294,"JtdY")](_0x4901ff,Group,{children:[_0x34aaa5(Circle,{cx:m,cy:m,r:m-1,children:_0x34aaa5(RadialGradient,{c:d[n(305,"Wxco")](vec,m-.3*m,d[n(270,a)](m,.3*m)),r:d[n(312,"JtdY")](m,1.6),colors:[R.highlight,e.color,R[n(340,"(LCY")]]})}),d[n(308,"PkGJ")](_0x34aaa5,Circle,{cx:m-.28*m,cy:m-.3*m,r:.35*m,children:_0x34aaa5(RadialGradient,{c:vec(m-.28*m,d[n(335,"B&%1")](m,d.jbyVn(m,.3))),r:.35*m,colors:SPECULAR_COLORS})}),_0x34aaa5(Circle,{cx:d[n(313,"q5g&")](m,d[n(291,"[tQ)")](m,.2)),cy:m-.2*m,r:.55*m,children:_0x34aaa5(RadialGradient,{c:vec(m-.2*m,m-.2*m),r:d.jbyVn(m,.55),colors:INNER_HIGHLIGHT_COLORS})}),d.XGcnY(_0x34aaa5,Circle,{cx:m,cy:m+.15*m,r:.85*m,children:_0x34aaa5(RadialGradient,{c:d[n(300,"As67")](vec,m,m+d[n(284,"o*tP")](m,.8)),r:d.ONIcU(m,.5),colors:RIM_LIGHT_COLORS})}),_0x34aaa5(Circle,{cx:m,cy:m+2,r:m,children:_0x34aaa5(RadialGradient,{c:vec(m,m+2),r:m,colors:RIM_SHADOW_COLORS})})]})})})})},BubbleComponent=_0x5d2cdb[_0x1c85b8(336,"W0^A")](BubbleComponentInner,(e,t)=>{const r=_0x1c85b8,o={};return o[r(262,"B&%1")]=function(e,t){return e===t},o[r(288,"(UA5")](e[r(303,"PkGJ")].id,t.bubble.id)&&e[r(322,"9U2x")].x===t[r(285,"ppp8")].x&&e[r(317,"5yeV")].y===t[r(279,"[tQ)")].y&&e[r(271,"S&xZ")][r(316,"PkGJ")]===t[r(307,"OSq^")].color&&e.size===t[r(283,"B&%1")]&&e.hapticEnabled===t.hapticEnabled});function _0x4637(){const e=["WQvzuhFcMq","cmoGqhBdHmkX","WR/cKSk2W6hcKa","W6pdRhJdPq0bvCkgWQtcT8oPlG","WQWdW7VdT3ZcHSopxCoexmk0uuWrmwPekruilCoI","WRC4W6FdQq","W444W68rWOa","W6NcT8oZr8o8uq","xSkCW4noc2y7WOq","WRTie8oHW4VcJw7cVSkJW4tdLItdImkwgY1UWObdlCkYgSksW5/dJG","WR3dJCoAW5ZcVG","W53cQmkbc8kj","WP0DsCoarsuFy8kEWOHfwCoR","amo3w0ldHG","W7lcISkVdSkz","WPrdwvRcImo4W5Pf","W5nKW6hcN0e","WRxcI8oltSopt8oAWPGyW6a/fXNcSWvaWRhdICkwEmoxWQC","lftdQvtdJmktW7fUW4uxWRtdUa","W7pdJSorW47dNxJcMbRdTvqTW4RdO8kDj8oN","W6DuWQZcPgxcHCkJd8kAg8oPpq","WPhcMSkdW5BcLa","WQlcRbVcTxO","WQ/cOSovWONcRCkyCSoziqucsq","W4WbsNdcJ8oeW5rR","WO7dO0fGxmoh","j1e4gq","dwfQFWG","WQdcTCkvW5BcGG","lLbPqCk2WOm","WO3dM2zbCq","WQxcIrFcLCoa","W7hdG8oIW5xcHtHfg2i","WRnSDmkUW5JcNq","W71NW63cV1u","WPZdSf7dVCoe","WQyuW4/dTbi","WQhdOhfOqG","WO/dUu9TqG","WQ0tdX5tW6y","uwtcGXRdVIddKCk6kCoea8oSCvX4oCofW4ddO8kogNNcKmoYW5O","W7BdKmk4watcHSkN","edxcPH7cNLJcSCoQ","W5ODxeVcLv06amoNW4m","z20wW4hdHSoj","W4KboaBdImk9WO9mlghdOg3dHW","WQailXLyW6OQ","nY9mWPtcK8oKWO7cQmkEWRBdVq","W6FdGSkOs0NdMmo/WR3cJuy6W6yfb8oQWQNcGwxdQq","ettdMuZdR1RcICoOsmkYAq","j8oqzL3dVCkz","uq1xsqhdJftcKa","n8ofW7ONsdRcUXtdPeldG8oEj8kZW60spSkqz8owW4bmWPtcPCoX","gCo2q3JdJq","W4BcPuqmW5i2fCk4W5ldScFcHW","CGJcMqJcMq","g3jYqqy","WPyFW4FdOWG","hf0Waq","W7OFqCoIWOxdIYhdSCow","W5y9W7qMW4BdVSosWRZdRCkuWOy1W6LKW47dIaVdRvJdKCkhkq","eJ7cJ8o1W6ZdSNv7mmocW5NdP8oHEq","W4CmWPpdPG","WOxdSbnFW4SZCCoyWRRcKMldSx5DW5n0F8o9hrlcNby","W7BdISkMrrm","WQaKW6/dRq8drMG","WOtdSGu","WRi2W7xdMZy","WR0rW6VdPdhdMSko","WRb+FCkjW5G","W7iNiSooWOJdImoHW6FdSwnXWQO7","ANyYW4RdHmonWO/cPSkPWOu","lmorW4GQaxhdP0/cRW","zHLhW5CUW6hcGKJdI04LWOCSyCojbtxcM8k3xmkPqxVcNay","gmoYqhxcGmoKWOlcISo/a0WTWRX5W5yxqmkmW6e","oSoetLldPq","vN/cLXWalW","W6xdImobW4q","W5ddJ33cVSocWQnBCCo5","W7tdNmkztCkbcCkvW5DT","WQlcGqLRW6NdLHe","hKdcJG","W7uVj8opWOZdICoIWOxdRhntWRS9cq"];return(_0x4637=function(){return e})()}export default BubbleComponent;
@@ -1 +0,0 @@
1
- "use strict";const _0x1681f6=_0x3957;!function(){const e="Up7K",t=_0x3957,o=_0x49a6();for(;;)try{if(688642==parseInt(t(208,"MyKT"))/1*(-parseInt(t(227,"qxjL"))/2)+-parseInt(t(244,"iEf)"))/3+parseInt(t(248,"EfQ4"))/4+-parseInt(t(294,"@95D"))/5*(parseInt(t(174,e))/6)+parseInt(t(239,"t)^]"))/7*(parseInt(t(224,e))/8)+-parseInt(t(299,"0Fch"))/9*(-parseInt(t(287,"K1Gh"))/10)+-parseInt(t(256,"iEf)"))/11*(-parseInt(t(245,"02yk"))/12))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import _0x24eb18,{useMemo,useState,useEffect}from"react";import{View}from"react-native";import{Canvas,Circle,Group,RoundedRect,LinearGradient,RadialGradient,vec}from"@shopify/react-native-skia";function _0x49a6(){const e=["iG/cMaS","WQZcO8oMfN/cGG3cICkLWQK","WRz3BCoGACkw","W4fDaSoZW5FcTCojamkgW60ACbvDWQnrW6G1W6VdUSkYW6O+WRaL","A0DRW4XVwJ0Sd8o1W5a8W51rxSk5","FSkNW7NcJa","WOrgB8odrq","W70eemoComkMWQ9HbLagWRqUexGmiW5+W4H8W4K","W5eQWRxcQmkYWPr3WPX0WO7dT0C","W50WWRNcRW","W47dKeBdNW/cSSouWO0Mdq","WRpcQWRcLq","BfzOWP7dTCo8","wZ/dQmo3WOOHs8o1fZ5Y","tSkEAmkJWOW","WOVdGCoNpa","W5qTWR7cRG","m8oRWRTYW7JdQuhcO2ZdTfFdIG","WQpcMa7dGa","WPfTWRTaBa","W5fpaSoWWPpdOSkVxmoqWQG","gv8BxIC","A8kYW7lcICkKlvRdQZKDv8ocWRvgW6L6W4nRwSorWRJdTmorkrC","gSotWOTwW5W","BCobWRLmctfxWPpdISo4","B8kMvmkRW44","qKbuWPtdKa","hfZcLmk/W48","W5ScaG","W6uyW5G5CJ9Etf4K","cNXsW6OBDW","fHhcOd4z","W57cKmkMB8kSWOVdN2eQW5/dISon","W5VcLmo+nCohW7/dSKG","q1DgWPddTq","W4fDaSoZW5FcTCojamkgW60ACbvDWQnrW6G1W6VdUSkYW60","uxyacq","FCopW6Sa","B8k8Dq","nmktW6KAnX8","hSkmW7aXjuNcISkQW7JcKgtcT8kt","B8kWE8kb","i8owh8oJuq","WO3cTCksW53dMLW","kgNdVIu","BSopWRyAfrjSWQldGa","W6ddVmkQBY4","tmkFDmkTW6ddQfpcU0K","W6hdN03cNmk6fCoAECk/aG","W5ZdKfFdLq","v8ojW6ieW7i","uIWeWRLzkSoUAbNcOCoFkq","W4KeW6xcNW","WOLHWQHFrSkY","WOBcUmksW5BdLLRdICoN","W6RdUmk2uhm","A2FdSmkwW4axW7aetCoWWONdKaBcK8kPWR5sWQ7dKW","W6ysW5u9iwynDLWfzSkLWOu","W4dcRCo9r29qWR8","t8kAw8k1W7O","mSo+zqZcHxbevmkNyIzs","bmo2o8oMvwBcOCkAW6a","AvZcJCkSAa","ASkHW6NcHmoP","W47dKeBdNW/cSSo0","W5FdQCoiWORcGrdcNSogW4BcP2SBW5m","D2z/WP5CWODque51mM8b","WOinumkQW4ZcSSokrmohWP1gd0O","ANtdOmkyWOnc","W7RdTCoslsuvmHKFWOC4W5ldJG","WQlcUJxdMCk4","WPJdICoXi8o3","CvVcRmk2za","W7ZcQmoeaI0","nCkfW6mIcG","CmkhC8kAW5K","WRqXWPtcLZOJW5CN","W5hdPmkqW5JdQM3dICob","ceNcRtW","hSo4pSoVet/dQSosWQtcRCk1WQRdLmoCW6nMB8ozkW","xhFdVSkDWPK","WQ/cQmoHfcJdLLRcTmkcWR0oW4bO","WRdcMa/dMSkOiCoy","l8kFW7Oy","k8onfCokzLZcJSkZW5ddJSoc","BMNdTSkdWOa","m1rPWQ3dQW","thlcGmkFyG","W6JcLSocktS","vxJcU8kEsa","tNqpb8kfv8kaf8oHWPPwWQS2iayBW5VcQ8obW6VcQdu","W4jTkmoJWOO","BSk+y8kfW4ykcmoksaukW6vRz8oMWOJcI8o9gCoXzSkakX0M","W67cKmoGhcO","WQlcTXlcKMZdImoOW5ddPCoQWQhdVa","WOZdJ8o5omoT","W53dSLddTc4","jKBcJSkiW7i","dmksvMHJ","nrlcGr8nWOWrChvX","WQ3cPmkLqxe","W40zW6dcLei","zmkRiMFdGIb4ua","DSk0W5tcICoi","W5NcIh/cH8ouW7RdKW","WOFdJ8oAeCof","WRy9WQ7cNI0","yCk7nfBdMIrFxmkhqa","C0NdHvzyWP0dv15tW5K","gCkXW5C2jq","W50fW4tcNxO","W5/dL8kcuCkKnq","WPbtWRvXyW","bCkUEvHs","CCkPnfxcNNm5amorbwywAHf6W6Kif8kXW4WZW7tdUSkPW50","WRTwsSkjjSkHW5y8wX1SW4G","W5/dJf7dMa","W4OxW77cKa","c8oTnCoQ","xMypbmobamoMs8k3W58","kmoIWQNdMCoArqlcH1Po","W60wemoFFmoXW4K9ubu","duCyBIq","fCkcW6WQpG","WRnXW43dQW","WOFdHCo8mmo3W44","BubrWPBdRCo4W77cSG","WPBcO8kZW5ZdUa","ASkFW7GKesj3","o8ktW7q","W73cR0tcSCoUW5BdQmodWRtcLCoH","cvOoDsDTW6jpEr93","WPFcT8kzW5VcMHRcMCk8WPZdOITcWOFdNqhcRSkqwmoYi8kYFSo9fmoH"];return(_0x49a6=function(){return e})()}import{Gesture,GestureDetector}from"react-native-gesture-handler";import{runOnJS}from"react-native-reanimated";import{POPIT_FIDGET_COLORS}from"../PopitFidgetConstants.js";import{usePopitFidgetStore}from"../PopitFidgetStore.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{jsx as _0x5c081a,jsxs as _0x12e2d8,Fragment as _0x20d5dd}from"react/jsx-runtime";function _0x3957(e,t){e-=168;const o=_0x49a6();let r=o[e];if(void 0===_0x3957.CaXNtH){const e=function(e,t){let o,r,W=[],n=0,d="";for(e=function(e){let t="",o="";for(let o,r,W=0,n=0;r=e.charAt(n++);~r&&(o=W%4?64*o+r:r,W++%4)?t+=String.fromCharCode(255&o>>(-2*W&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)W[r]=r;for(r=0;r<256;r++)n=(n+W[r]+t.charCodeAt(r%t.length))%256,o=W[r],W[r]=W[n],W[n]=o;r=0,n=0;for(let t=0;t<e.length;t++)r=(r+1)%256,n=(n+W[r])%256,o=W[r],W[r]=W[n],W[n]=o,d+=String.fromCharCode(e.charCodeAt(t)^W[(W[r]+W[n])%256]);return d};_0x3957.GKvjrd=e,_0x3957.zqkJyk={},_0x3957.CaXNtH=!0}const W=o[0];_0x3957.STkJrQ!==W&&(_0x3957.zqkJyk={},_0x3957.STkJrQ=W);const n=_0x3957.zqkJyk[e];return void 0===n?(void 0===_0x3957.GruIIv&&(_0x3957.GruIIv=!0),r=_0x3957.GKvjrd(r,t),_0x3957.zqkJyk[e]=r):r=n,r}const PADDING=8,BUBBLE_3D_CACHE=new Map,getBubble3DColors=e=>{const t=_0x3957;let o=BUBBLE_3D_CACHE[t(175,"Up7K")](e);return!o&&(o={highlight:lighten(e,.55),dark:{OmeDZ:function(e,t,o){return e(t,o)}}[t(254,"rAtR")](darken,e,.45),rim:darken(e,.25),poppedDark:darken(e,.55)},BUBBLE_3D_CACHE[t(217,"R8F^")](e,o)),o},SPECULAR_COLORS=[_0x1681f6(201,"0Fch"),_0x1681f6(186,"@95D")],INNER_HIGHLIGHT_COLORS=[_0x1681f6(178,"iEf)"),_0x1681f6(214,"(@Gp")],RIM_LIGHT_COLORS=[_0x1681f6(271,"R8F^"),"rgba(255, 255, 255, 0)"],RIM_SHADOW_COLORS=["rgba(0, 0, 0, 0.20)",_0x1681f6(183,"LY]e")],POPPED_CONCAVE_COLORS=[_0x1681f6(235,"VMHQ"),_0x1681f6(258,"M(*E"),_0x1681f6(182,"(@Gp")],POPPED_HIGHLIGHT_COLORS=[_0x1681f6(293,"t)^]"),_0x1681f6(269,"LHhp")],BubblesCanvas=_0x24eb18[_0x1681f6(215,"LHhp")](({grid:e,bubbleSize:t})=>{const o="rAtR",r="(@Gp",W=_0x1681f6,n={ZTkDD:function(e,t){return e===t},RGiGb:function(e,t){return e+t},cqgDk:function(e,t){return e!==t},PLBuM:W(210,"K1Gh"),eiNZc:function(e,t){return e-t},KMRFH:function(e,t){return e*t},ppMky:function(e,t){return e*t},ssHfJ:function(e,t){return e+t},qWHqu:function(e,t,o){return e(t,o)},Wsnzp:function(e,t,o){return e(t,o)},ChcgF:function(e,t){return e*t},GdGih:function(e,t,o){return e(t,o)},GcdkN:function(e,t){return e*t},TShCc:function(e,t,o){return e(t,o)},EZzAj:function(e,t){return e/t}},[d,i]=useState(0);useEffect(()=>{const e=W;return usePopitFidgetStore[e(226,"rAtR")](t=>t[e(196,"%[6g")],()=>{i(e=>e+1)})},[]);const a=n[W(225,"G6)Y")](t,2),u=n[W(285,"%u*y")](a,1),s=useMemo(()=>{const d=W,i={FsUmM:function(e,t){return e===t},hoOFZ:function(e,t){return n[_0x3957(185,"nbvD")](e,t)}},s=usePopitFidgetStore[d(281,"t)^]")]()[d(187,"Y12S")],k=[];for(let W=0;W<e.size;W++)for(let f=0;f<e[d(295,"dq*5")];f++){const C=e.bubbles[W]?.[f];if(!C)continue;const x=8+C.x,_=n.RGiGb(8,C.y),R=!!s[C.id]?.isPopped,S=getBubble3DColors(C[d(272,"*D7J")]),m="b"+W+"-"+f;if(R){if(!n[d(200,"8on^")](d(259,"VMHQ"),n[d(204,o)]))return i[d(205,"sq]T")](_0x2a17f2.grid[d(190,"giOC")],_0x960595[d(170,"lp9h")][d(220,"R8F^")])&&_0x2d6417[d(184,"0Fch")][d(264,"VMHQ")]===_0x1801c6[d(184,"0Fch")][d(234,"$]3u")]&&_0x4e936c[d(231,"Y#Gc")].height===_0x8dd2db.grid[d(191,"sq]T")]&&i.FsUmM(_0x1c8d09[d(199,r)],_0x59aeb8[d(189,"dq*5")])&&i[d(284,"IdhX")](_0x3f0d6a[d(219,"ptDG")],_0x12328a.hapticEnabled);k[d(228,"dq*5")](_0x12e2d8(Group,{children:[_0x5c081a(Circle,{cx:x,cy:_,r:u,children:_0x5c081a(RadialGradient,{c:vec(x,_),r:a,colors:[S[d(278,"K1Gh")],S[d(296,"Y#Gc")]]})}),_0x5c081a(Circle,{cx:x,cy:_,r:n[d(277,"6a5H")](a,4),children:_0x5c081a(LinearGradient,{start:vec(x-.7*a,_-n.KMRFH(a,.7)),end:vec(x+n.KMRFH(a,.7),n[d(193,"R8F^")](_,n[d(238,o)](a,.7))),colors:POPPED_CONCAVE_COLORS})}),_0x5c081a(Circle,{cx:n[d(289,"Y#Gc")](x,.1*t),cy:n[d(173,"iEf)")](_,.12*t),r:.12*t,children:n.qWHqu(_0x5c081a,RadialGradient,{c:vec(n[d(266,"DyBt")](x,.1*t),_+.12*t),r:.12*t,colors:POPPED_HIGHLIGHT_COLORS})})]},m))}else k[d(197,"qxjL")](_0x12e2d8(Group,{children:[_0x5c081a(Circle,{cx:x,cy:_,r:u,children:_0x5c081a(RadialGradient,{c:n[d(270,r)](vec,x-n[d(268,"DyBt")](a,.3),_-.3*a),r:n.KMRFH(a,1.6),colors:[S[d(240,"M(*E")],C[d(274,"IdhX")],S[d(194,"IdhX")]]})}),_0x5c081a(Circle,{cx:x-.28*a,cy:n[d(267,"*D7J")](_,n[d(276,"xz72")](a,.3)),r:.35*a,children:n.Wsnzp(_0x5c081a,RadialGradient,{c:n[d(252,"*D7J")](vec,x-.28*a,n[d(279,"EfQ4")](_,.3*a)),r:.35*a,colors:SPECULAR_COLORS})}),_0x5c081a(Circle,{cx:x-.2*a,cy:n.eiNZc(_,n[d(253,"ptDG")](a,.2)),r:.55*a,children:n[d(213,"sq]T")](_0x5c081a,RadialGradient,{c:vec(x-.2*a,_-n.ChcgF(a,.2)),r:n.KMRFH(a,.55),colors:INNER_HIGHLIGHT_COLORS})}),_0x5c081a(Circle,{cx:x,cy:_+.15*a,r:n[d(229,"a#oc")](a,.85),children:n.TShCc(_0x5c081a,RadialGradient,{c:vec(x,_+.8*a),r:n[d(202,"%[6g")](a,.5),colors:RIM_LIGHT_COLORS})}),_0x5c081a(Circle,{cx:x,cy:_+2,r:a,children:_0x5c081a(RadialGradient,{c:n[d(206,"xz72")](vec,x,_+2),r:a,colors:RIM_SHADOW_COLORS})})]},m))}return k},[d,e,t,a,u]),k={};return k[W(233,"iEf)")]=s,n[W(249,"qxjL")](_0x5c081a,_0x20d5dd,k)});BubblesCanvas.displayName="BubblesCanvas";const FidgetGrid=({grid:e,bubbleSize:t,onBubblePop:o})=>{const r="gr^3",W=_0x1681f6,n={OICmh:function(e,t){return e*t},oExAk:function(e,t){return e-t},EGWKz:function(e,t){return e*t},lUajR:function(e,t,o){return e(t,o)},oaDaD:function(e,t,o){return e(t,o)}},d=e[W(168,"8on^")]+16,i=e.height+n[W(198,"MyKT")](8,2),a=t/2,u=_0x24eb18.useRef(o);u[W(283,r)]=o;const s=_0x24eb18.useCallback((e,t)=>{const o=W,r=n[o(221,"M(*E")](a,.9),d=r*r,i=usePopitFidgetStore.getState()[o(273,"giOC")],s=usePopitFidgetStore[o(255,"%u*y")]().fidgetGrid?.[o(243,"dq*5")];if(s)for(let r=0;r<s[o(209,"u8cp")];r++){const W=s[r];if(W)for(let a=0;a<W[o(290,"LVRC")];a++){const s=W[a];if(!s)continue;if(i[s.id]?.[o(172,"sq]T")])continue;const k=n.oExAk(e,8+s.x),f=t-(8+s.y);if(n[o(288,"Up7K")](k,k)+f*f<=d)return void u[o(261,"qxjL")](r,a)}}},[a]),k=useMemo(()=>Gesture[W(207,"@95D")]()[W(251,"DyBt")](e=>{runOnJS(s)(e.x,e.y)}),[s]),f=n[W(292,"6a5H")](useMemo,()=>({width:d,height:i}),[d,i]),C={x:0,y:3};C[W(241,"DyBt")]=d,C[W(181,"nbvD")]=i-3,C.r=22,C.color=POPIT_FIDGET_COLORS[W(263,"M(*E")],C[W(237,"L#HC")]=.35;const x={x:0,y:0};x[W(265,"w7mH")]=d,x[W(222,"iEf)")]=i,x.r=22,x[W(280,"Y#Gc")]=POPIT_FIDGET_COLORS.GRID_FILL;const _={x:1,y:1};_.width=d-2,_[W(171,"IdhX")]=i-2,_.r=21,_[W(169,"ptDG")]=POPIT_FIDGET_COLORS[W(176,r)],_[W(242,"0Fch")]=W(247,"VMHQ"),_[W(177,"8on^")]=2;const R=n[W(282,"0Fch")](useMemo,()=>_0x12e2d8(_0x20d5dd,{children:[_0x5c081a(RoundedRect,C),_0x5c081a(RoundedRect,x),_0x5c081a(RoundedRect,_)]}),[d,i]),S={};return S[W(257,"N6Rf")]=e,S[W(298,"LHhp")]=t,_0x5c081a(GestureDetector,{gesture:k,children:n.oaDaD(_0x5c081a,View,{style:f,children:_0x12e2d8(Canvas,{style:f,pointerEvents:W(188,"Y12S"),children:[R,n.oaDaD(_0x5c081a,BubblesCanvas,S)]})})})};export default _0x24eb18[_0x1681f6(216,"a#oc")](FidgetGrid,(e,t)=>{const o=_0x1681f6,r={};return r[o(291,"LJTY")]=function(e,t){return e===t},r[o(275,"dq*5")](e[o(297,"M(*E")][o(223,"E!(u")],t[o(231,"Y#Gc")][o(262,"Up7K")])&&e.grid.width===t[o(297,"M(*E")][o(250,"IdhX")]&&e[o(179,"K1Gh")][o(232,"LJTY")]===t[o(195,"Y12S")][o(218,"Up7K")]&&e[o(300,"@95D")]===t[o(286,"t)^]")]&&e.hapticEnabled===t.hapticEnabled});
@@ -1 +0,0 @@
1
- "use strict";const _0x2bc5a7=_0x34df;!function(){const o=_0x34df,t=_0x4ab0();for(;;)try{if(310523==-parseInt(o(171,"SBMF"))/1+parseInt(o(193,"lJP!"))/2*(-parseInt(o(176,"rOdb"))/3)+-parseInt(o(170,"PIwJ"))/4+-parseInt(o(174,"1OdE"))/5+-parseInt(o(198,"r9h9"))/6+parseInt(o(173,"1iF4"))/7*(parseInt(o(194,"PIwJ"))/8)+parseInt(o(184,"Pt8^"))/9*(parseInt(o(181,"H[fX"))/10))break;t.push(t.shift())}catch(o){t.push(t.shift())}}();import{c as _0x46f115}from"react/compiler-runtime";import _0x3d84ff from"react";function _0x4ab0(){const o=["jmo2mWxdTqVcUSoIAXyYzeS","W5ZdS8kZkmk0n8oZWQddJHPGW6hcMa","CX/cLSoaWO7cRNRdSCo/fmoVua","nfVdM8kDW5i","WQRdNCkhoNpdUCkveYz5ASoY","W5mscCkqWO5kj8onycxdOfa","hSormLXYDWq","rdpcTCozvmoTWPSRCuBdTZ4","WPBdImoWi3NcMNCTqq/cNq","fxCZgL0","wSoSFG","hSkeW440W6tcGmkXWPm","WQdcJSkehSkWWQbJAczTnbRcTSkv","WO9kWR0am0u2aG","xmoLWO3dHCkS","W57cQK1NWR7dL8ka","hMldP8kEbSkQ","WProuSohW68AkCoPBbJdQLuY","WPZdR8o6mKK","d1jMWRP7mCo9","dcuHW5q5zmkPBmk1pdRcTgVdUW","WPPVrCogW7u","s8o4bevPyZbtW7jazGK","WQneWQJcGmoMW7NcGmok","sSoBx8onWR/dUCkg","W5RdUCoatmoNt8kAWOK","e8kNrYa4krDSW5zxEbG","h8klWRfqWRddU8kNWOJcOq7dJmk9","W43cG8kQCZlcV8oxWOK0W6eOW5W","pCktmN4RcrlcMSkhumkBhq","WORcIwff"];return(_0x4ab0=function(){return o})()}import{View}from"react-native";import{ScoreBoardContainer,ScoreValue as _0x53a44b,ScoreTimer,scoreBoardStyles as _0x5c7b3a}from"../../../helpers/index.js";import{usePopitFidgetStore}from"../PopitFidgetStore.js";import{jsx as _0x25823d,jsxs as _0x569525}from"react/jsx-runtime";const ScoreBoard=_0x3d84ff[_0x2bc5a7(199,"Pt8^")](o=>{const t=_0x2bc5a7,r={zHzdH:function(o,t){return o!==t}},e=_0x46f115(10),{offset:d}=o,n=void 0===d?0:d,a=usePopitFidgetStore(_temp),f=usePopitFidgetStore(_temp2);let s,i,x,W;if(r[t(190,"1OdE")](e[0],a)){const o={};o.score=a,s=_0x25823d(_0x53a44b,o),e[0]=a,e[1]=s}else s=e[1];if(e[2]!==f){const o={};o.seconds=f,o[t(191,"FtNw")]=10,i=_0x25823d(ScoreTimer,o),e[2]=f,e[3]=i}else i=e[3];if(r[t(183,"bqjA")](e[4],s)||e[5]!==i){const o={};o[t(172,"SBMF")]=_0x5c7b3a[t(179,"Mh5i")],o[t(182,"8gku")]=[s,i],x=_0x569525(View,o),e[4]=s,e[5]=i,e[6]=x}else x=e[6];if(e[7]!==n||r[t(178,"i5*w")](e[8],x)){const o={};o[t(185,"rOdb")]=n,o[t(192,"4n#z")]=x,W=_0x25823d(ScoreBoardContainer,o),e[7]=n,e[8]=x,e[9]=W}else W=e[9];return W});ScoreBoard[_0x2bc5a7(177,"!wV2")]="ScoreBoard";export default ScoreBoard;function _0x34df(o,t){o-=169;const r=_0x4ab0();let e=r[o];if(void 0===_0x34df.HrNYSK){const o=function(o,t){let r,e,d=[],n=0,a="";for(o=function(o){let t="",r="";for(let r,e,d=0,n=0;e=o.charAt(n++);~e&&(r=d%4?64*r+e:e,d++%4)?t+=String.fromCharCode(255&r>>(-2*d&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let o=0,e=t.length;o<e;o++)r+="%"+("00"+t.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(r)}(o),e=0;e<256;e++)d[e]=e;for(e=0;e<256;e++)n=(n+d[e]+t.charCodeAt(e%t.length))%256,r=d[e],d[e]=d[n],d[n]=r;e=0,n=0;for(let t=0;t<o.length;t++)e=(e+1)%256,n=(n+d[e])%256,r=d[e],d[e]=d[n],d[n]=r,a+=String.fromCharCode(o.charCodeAt(t)^d[(d[e]+d[n])%256]);return a};_0x34df.PKUMYC=o,_0x34df.paDodn={},_0x34df.HrNYSK=!0}const d=r[0];_0x34df.aWlvOe!==d&&(_0x34df.paDodn={},_0x34df.aWlvOe=d);const n=_0x34df.paDodn[o];return void 0===n?(void 0===_0x34df.NtQrVJ&&(_0x34df.NtQrVJ=!0),e=_0x34df.PKUMYC(e,t),_0x34df.paDodn[o]=e):e=n,e}function _temp(o){return o[_0x2bc5a7(187,"Js4J")]}function _temp2(o){return o[_0x2bc5a7(186,"1OdE")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x2386b7=_0x2922;!function(){const e=_0x2922,o=_0x1ab8();for(;;)try{if(375282==parseInt(e(346,"3TFj"))/1*(-parseInt(e(238,"1fk$"))/2)+parseInt(e(381,"xdke"))/3+-parseInt(e(281,"ziyl"))/4+-parseInt(e(261,"1SZm"))/5+-parseInt(e(360,"1SZm"))/6+-parseInt(e(403,"zs8k"))/7+parseInt(e(364,"r&!Y"))/8)break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{playSound,GAME_SOUNDS}from"../../services/SoundsService.js";import{playHaptic,HapticType}from"../../services/HapticsService.js";import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";import{BOARD_N,REVERSI_CONFIG,rc,idx,inBounds,DIRECTIONS,WEIGHTS}from"./ReversiConstants.js";let timerIntervalRef=null;const clearTimer=()=>{timerIntervalRef&&(clearGameInterval(timerIntervalRef),timerIntervalRef=null)},HUMAN=_0x2386b7(405,"wPj1"),AI="white",opponent=e=>e===_0x2386b7(351,"^n(u")?_0x2386b7(334,"g36G"):_0x2386b7(247,"M)bs");export const createInitialBoard=()=>{const e=_0x2386b7,o={};o[e(302,"9gWe")]="white",o[e(284,"3h#f")]="black";const t=o,n=new Array(BOARD_N*BOARD_N)[e(310,"jQhI")](null),r={};r[e(231,"r&!Y")]=t[e(333,"n[TJ")],n[idx(3,3)]=r;const W={};W[e(376,"^n(u")]=e(287,"LF8t"),n[idx(3,4)]=W;const i={};i[e(353,"1fk$")]=t.DcqTq,n[idx(4,3)]=i;const s={};return s[e(249,"sUMh")]=e(366,"n[TJ"),n[idx(4,4)]=s,n};const flipsFor=(e,o,t)=>{const n=_0x2386b7,r={ClVNu:function(e,o){return e!==o},YnrkY:function(e,o){return e(o)},Sakvu:function(e,o,t){return e(o,t)},rXLly:"ZNAvx"};if(r[n(233,"xdke")](e[o],null))return[];const{row:W,col:i}=rc(o),s=r.YnrkY(opponent,t),u=[];for(const[o,a]of DIRECTIONS){let d=W+o,l=i+a;const m=[];for(;r[n(253,"!*yx")](inBounds,d,l)&&e[idx(d,l)]?.player===s;)m.push(r.Sakvu(idx,d,l)),d+=o,l+=a;if(m[n(372,"n[TJ")]>0&&inBounds(d,l)&&e[idx(d,l)]?.[n(376,"^n(u")]===t){if("qBvDp"===r[n(299,"VL1w")])return _0x5bfc38.winner;for(const e of m)u[n(255,")wX)")](e)}}return u},validMoves=(e,o)=>{const t=_0x2386b7,n={};n[t(361,"1fk$")]=function(e,o){return e<o};const r=n,W=[];for(let n=0;r.yccpD(n,e[t(290,"r&!Y")]);n++){if(null!==e[n])continue;const r=flipsFor(e,n,o);r[t(343,"3h#f")]>0&&W.push({index:n,flips:r})}return W},applyMove=(e,o,t)=>{const n=_0x2386b7,r=e.slice(),W={};W.player=t,r[o[n(389,"@PLA")]]=W;for(const e of o.flips)r[e]={player:t};return r},counts=e=>{const o=_0x2386b7;let t=0,n=0;for(const r of e)r&&(r[o(321,"JLBO")]===o(288,"nWom")?t++:n++);const r={};return r[o(300,"1SZm")]=t,r[o(324,")$cU")]=n,r},evaluate=e=>{const o=_0x2386b7,t={};t[o(390,"^!@0")]=function(e,o){return e*o};const n=t;let r=0;for(let t=0;t<e[o(265,"Se^s")];t++){const n=e[t];n&&(r+=n[o(385,"jQhI")]===AI?WEIGHTS[t]:-WEIGHTS[t])}const W=validMoves(e,AI)[o(325,")wX)")],i=validMoves(e,HUMAN).length;return r+=n[o(286,"jQhI")](W-i,5),r},search=(e,o,t,n,r)=>{const W=_0x2386b7,i={Oxwcn:function(e,o){return e(o)},btZcK:function(e,o){return e===o},UIPMS:function(e,o,t){return e(o,t)},RIpQL:function(e,o){return e<=o},ZzGYP:function(e,o){return e<o},xBYNE:function(e,o){return e<o}};if(0===t)return i[W(326,"zzAv")](evaluate,e);const s=validMoves(e,o);if(0===s[W(388,"xCg^")])return i[W(355,"@PLA")](i[W(384,"zs8k")](validMoves,e,opponent(o))[W(262,"^!@0")],0)?evaluate(e):search(e,opponent(o),t-1,n,r);if(o===AI){let W=-1/0;for(const u of s){const s=search(applyMove(e,u,o),opponent(o),t-1,n,r);if(s>W&&(W=s),W>n&&(n=W),i.RIpQL(r,n))break}return W}let u=1/0;for(const a of s){const s=search(applyMove(e,a,o),opponent(o),t-1,n,r);if(i[W(373,")wX)")](s,u)&&(u=s),i.xBYNE(u,r)&&(r=u),r<=n)break}return u},chooseAIMove=e=>{const o=_0x2386b7,t={oMnKu:function(e,o){return e===o},nRTmJ:function(e,o,t,n){return e(o,t,n)},ivjxo:function(e,o){return e-o},yyGnm:function(e,o){return e>o}},n=validMoves(e,AI);if(t[o(268,"zzAv")](n[o(295,"@PLA")],0))return null;if(t.oMnKu(n[o(343,"3h#f")],1))return n[0];if(Math.random()<REVERSI_CONFIG[o(350,"1fk$")])return n[Math.floor(Math[o(401,"Srps")]()*n[o(248,"3TFj")])];let r=-1/0;const W=[];for(const i of n){const n=search(t.nRTmJ(applyMove,e,i,AI),HUMAN,t[o(380,"zzAv")](REVERSI_CONFIG[o(244,"b*IG")],1),-1/0,1/0),s={};s.move=i,s[o(313,"3h#f")]=n,W[o(240,"xdke")](s),t[o(280,"r&!Y")](n,r)&&(r=n)}const i=W[o(235,"JLBO")](e=>e.score>=r-REVERSI_CONFIG[o(347,"rNQh")]);return i[Math.floor(Math[o(339,"^n(u")]()*i[o(308,"zs8k")])][o(285,"1SZm")]},INITIAL={isPlaying:!1,isGameOver:!1,isTimedOut:!1,board:createInitialBoard(),boardVersion:0,selectionVersion:0,currentPlayer:HUMAN,validTargets:[],lastMove:-1,winner:null,blackCount:2,whiteCount:2,score:0,moves:0,timeLeft:REVERSI_CONFIG.GAME_DURATION};export const useReversiStore=create()(subscribeWithSelector((e,o)=>({...INITIAL,initializeGame:()=>{const o=_0x2386b7;clearTimer();const t=createInitialBoard();e(e=>({...INITIAL,board:t,validTargets:validMoves(t,HUMAN)[o(383,"g36G")](e=>e[o(382,"1fk$")]),boardVersion:e[o(278,"nB[W")]+1,selectionVersion:e[o(362,")$cU")]+1}))},startGame:()=>{const t=_0x2386b7;clearTimer(),timerIntervalRef=setGameInterval(()=>o()[t(386,"nB[W")](),1e3);const n={QBtoD:function(e){return e()}}[t(271,"yk^v")](createInitialBoard);e(e=>({board:n,validTargets:validMoves(n,HUMAN)[t(375,"sUMh")](e=>e[t(260,"g36G")]),lastMove:-1,boardVersion:e[t(397,"U%3c")]+1,selectionVersion:e.selectionVersion+1,currentPlayer:HUMAN,winner:null,blackCount:2,whiteCount:2,score:0,moves:0,timeLeft:REVERSI_CONFIG[t(331,"Se^s")],isPlaying:!0,isGameOver:!1,isTimedOut:!1}))},stopGame:()=>{clearTimer();e({isPlaying:!1})},resetGame:()=>{const o=_0x2386b7;clearTimer();const t={LktdO:function(e){return e()}}[o(274,"Dm#Z")](createInitialBoard);e(e=>({...INITIAL,board:t,validTargets:validMoves(t,HUMAN)[o(392,"yIG0")](e=>e[o(314,"sUMh")]),boardVersion:e[o(246,"Dm#Z")]+1,selectionVersion:e.selectionVersion+1}))},handleSelect:(t,n)=>{const r="@PLA",W=_0x2386b7,i={qZRxq:function(e,o){return e===o},mkGoI:function(e,o,t,n){return e(o,t,n)},IerOS:function(e,o){return e(o)}},s=o();if(!s.isPlaying||s[W(306,"ziyl")]||s[W(309,"VL1w")]!==HUMAN)return;const u=s[W(269,r)],a=flipsFor(u,t,HUMAN);if(i[W(283,"zzAv")](a[W(264,"RNdi")],0))return void playHaptic(HapticType[W(332,"0@X]")],n.enableHaptics);const d={};d.index=t,d[W(337,"5FV8")]=a;const l=i[W(374,"NDcc")](applyMove,u,d,HUMAN),m=i[W(368,"6q^m")](counts,l);e(e=>({board:l,boardVersion:e.boardVersion+1,selectionVersion:e.selectionVersion+1,blackCount:m[W(336,"xdke")],whiteCount:m[W(406,"Dm#Z")],score:e[W(292,"3TFj")]+a[W(370,"rNQh")]*REVERSI_CONFIG[W(256,"zzAv")],moves:e.moves+1,lastMove:t,currentPlayer:AI,validTargets:[]})),playSound(GAME_SOUNDS[W(304,"F^hk")].PLACE,n[W(319,r)]),playHaptic(HapticType[W(396,"yk^v")],n[W(404,"VurZ")]),resolveTurn(e,o,n)},runAIMove:t=>{const n="5FV8",r=_0x2386b7,W={RvFtx:function(e){return e()},GusWq:function(e,o){return e!==o},HgOQa:function(e,o,t,n){return e(o,t,n)},sLAoS:function(e,o,t){return e(o,t)}},i=W[r(391,"Dm#Z")](o);if(!i.isPlaying||i.isGameOver||W[r(245,"q15J")](i.currentPlayer,AI))return;const s=chooseAIMove(i[r(298,"VurZ")]);if(!s){const n={};return n[r(345,"XoEQ")]=HUMAN,e(n),void W[r(341,"nB[W")](resolveTurn,e,o,t)}const u=applyMove(i[r(367,n)],s,AI),a=counts(u);e(e=>({board:u,boardVersion:e.boardVersion+1,selectionVersion:e[r(369,"1fk$")]+1,blackCount:a[r(400,"F^hk")],whiteCount:a[r(303,"zzAv")],moves:e[r(259,"0Mwx")]+1,lastMove:s[r(272,"0Mwx")],currentPlayer:HUMAN,validTargets:[]})),W[r(305,"Se^s")](playSound,GAME_SOUNDS[r(266,n)][r(399,"0Mwx")],t.enableSounds),playHaptic(HapticType[r(363,"b*IG")],t.enableHaptics),W.HgOQa(resolveTurn,e,o,t)},updateTime:()=>{const t=_0x2386b7,n={UPCel:function(e){return e()},FxMSP:function(e){return e()},FovqW:function(e,o){return e(o)},khHyO:function(e,o){return e-o}},r=n[t(327,"VurZ")](o);if(r[t(243,"rNQh")]&&!r[t(352,"xdke")])if(r[t(276,"rNQh")]<=1){n[t(291,"wPj1")](clearTimer);const o={};o.timeLeft=REVERSI_CONFIG[t(322,"yk^v")],o[t(356,"ziyl")]=!1,o.isGameOver=!0,o[t(307,"^!@0")]=!0,o[t(232,"Se^s")]=AI,n[t(282,"!*yx")](e,o)}else e({timeLeft:n.khHyO(r[t(263,"nWom")],1)})}})));const resolveTurn=(e,o,t)=>{const n=")$cU",r=_0x2386b7,W={GDzeo:function(e,o,t){return e(o,t)},UDBQN:function(e,o){return e(o)},qWFCe:function(e,o){return e===o},WGwib:function(e,o,t){return e(o,t)},zAxqa:function(e,o,t,n){return e(o,t,n)}},i=o();if(i[r(328,"r&!Y")])return;const s=i[r(344,"b*IG")],u=W[r(358,"zzAv")](validMoves,i.board,s);if(u[r(308,"zs8k")]>0)return void(s===HUMAN?e(e=>({validTargets:u[r(317,"zs8k")](e=>e[r(330,"U%3c")]),selectionVersion:e[r(371,"R)N^")]+1})):(e(e=>({validTargets:[],selectionVersion:e[r(237,"r&!Y")]+1})),W.GDzeo(setTimeout,()=>o().runAIMove(t),REVERSI_CONFIG[r(289,"^n(u")])));const a=W[r(357,")wX)")](opponent,s);W[r(387,n)](W[r(402,"VL1w")](validMoves,i[r(348,"RNdi")],a)[r(311,n)],0)?finishByCount(e,i.board,t):(e(e=>({currentPlayer:a,validTargets:[],selectionVersion:e.selectionVersion+1})),W[r(335,"R)N^")](playSound,GAME_SOUNDS.REVERSI[r(393,"Srps")],t[r(329,"wPj1")]),W[r(316,"nWom")](resolveTurn,e,o,t))},finishByCount=(e,o,t)=>{const n=_0x2386b7,r={kARRq:function(e){return e()},ALlzP:function(e,o){return e(o)},JbaHC:function(e,o){return e===o},nlWfM:function(e,o,t){return e(o,t)}};r[n(349,"6q^m")](clearTimer);const W=counts(o),i=W.black>W[n(293,"xCg^")]?HUMAN:W[n(395,"yk^v")]>W[n(279,"jQhI")]?AI:null;r[n(242,"xdke")](e,e=>({isPlaying:!1,isGameOver:!0,winner:i,blackCount:W[n(398,"b*IG")],whiteCount:W[n(365,"SAPh")],validTargets:[],selectionVersion:e[n(394,"@PLA")]+1,score:i===HUMAN?e[n(252,")wX)")]+REVERSI_CONFIG[n(338,"nWom")]:e[n(315,"9gWe")],timeLeft:REVERSI_CONFIG.GAME_DURATION})),r[n(258,"5FV8")](i,HUMAN)?(playSound(GAME_SOUNDS[n(377,"ziyl")][n(273,"VL1w")],t[n(320,"yIG0")]),r[n(241,"0Mwx")](playHaptic,HapticType[n(257,"q15J")],t[n(359,"VL1w")])):(playSound(GAME_SOUNDS[n(267,"Srps")][n(318,"Srps")],t[n(320,"yIG0")]),r[n(234,"XoEQ")](playHaptic,HapticType[n(379,"1fk$")],t[n(342,"KSV^")]))};export const useIsPlaying=()=>({UgeGP:function(e,o){return e(o)}}[_0x2386b7(294,"zzAv")](useReversiStore,_temp));export const useIsGameOver=()=>useReversiStore(_temp2);export const useBoardVersion=()=>({mjqWs:function(e,o){return e(o)}}[_0x2386b7(239,"KSV^")](useReversiStore,_temp3));export const useSelectionVersion=()=>useReversiStore(_temp4);export const useCurrentPlayer=()=>({HltXH:function(e,o){return e(o)}}[_0x2386b7(277,"wPj1")](useReversiStore,_temp5));export const useWinner=()=>({XSOal:function(e,o){return e(o)}}[_0x2386b7(251,"nWom")](useReversiStore,_temp6));function _0x2922(e,o){e-=230;const t=_0x1ab8();let n=t[e];if(void 0===_0x2922.htqgtm){const e=function(e,o){let t,n,r=[],W=0,i="";for(e=function(e){let o="",t="";for(let t,n,r=0,W=0;n=e.charAt(W++);~n&&(t=r%4?64*t+n:n,r++%4)?o+=String.fromCharCode(255&t>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=o.length;e<n;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)W=(W+r[n]+o.charCodeAt(n%o.length))%256,t=r[n],r[n]=r[W],r[W]=t;n=0,W=0;for(let o=0;o<e.length;o++)n=(n+1)%256,W=(W+r[n])%256,t=r[n],r[n]=r[W],r[W]=t,i+=String.fromCharCode(e.charCodeAt(o)^r[(r[n]+r[W])%256]);return i};_0x2922.AIznKY=e,_0x2922.wYagpl={},_0x2922.htqgtm=!0}const r=t[0];_0x2922.NILwNc!==r&&(_0x2922.wYagpl={},_0x2922.NILwNc=r);const W=_0x2922.wYagpl[e];return void 0===W?(void 0===_0x2922.eNzZXZ&&(_0x2922.eNzZXZ=!0),n=_0x2922.AIznKY(n,o),_0x2922.wYagpl[e]=n):n=W,n}export const useScore=()=>useReversiStore(_temp7);export const useTimeLeft=()=>useReversiStore(_temp8);export const useBlackCount=()=>({pxfHD:function(e,o){return e(o)}}[_0x2386b7(230,"nWom")](useReversiStore,_temp9));export const useWhiteCount=()=>useReversiStore(_temp0);function _temp(e){return e[_0x2386b7(340,"^n(u")]}function _0x1ab8(){const e=["bmogW5hdJWe","xe9zfCo4","W7ldMSoyW41J","W4tcU1ZcLdy","WQddMdC/W7y","WOhcGCkyWOxdHq","WP7cNMZcSmoqAwFcNSoz","WROEWRzepcG","WQemWOHmmJWpCCkZ","u8odWRhdR3a","fSoZhCkzEaZcLmoYF8oCdSoAFG","WRSNW5NcPtzk","WOfdaGX2rbpcJ8kyWRVdG8oqWPK","n8kAWOuZWOX+W58xzMPjgSkU","WRdcJCoavmkrW4LqW5ldRgjq","aCoqrNFcGSolsalcSmodWOW8WQJcOSkT","W6BdLmkeF8oK","W43cKJHlW7e","WP/dSbBdKCkgWRfwW7S9W4L+tmokWQHIqmkrW6KvW6pcIq","WQOtWRLdoa","WQVdHXe9W7dcVfL7afe","WQ7dLsJdUSkIWO0","iSo2EfBcPCosFZxcNmoNWQia","rmo5kmkNyW","WRRcUXaWF0pcMIddTW","FCkVv8kxWOe","uCkRWRRcRmoG","DH3dU8oHWRWozmoIWRv9BcVcKG","WRrwWR40ySkHW71ZWPagW7ZcTG","WQFdMIRdS8kd","WPbuBh9ykujuvmoSuelcKKPWW58","WQ5/nZzh","WRy0W5xdHdKEW7SGf8k/W70azmkq","WPZdSsVcQmoi","sfr6l8oE","WOxcGSkqWOFdKG","W6/cTHHwW5m","WQ3dNcxdPSkKWOT7W5SEW4bwCCoVWOrsBq","lmo8D0pcTCoS","W6dcMuFcMdFdGZtdMqBdVgGeWO3cPsjv","u1L9pmopWPe","CSkruSkFWP8","qYPfu0i","W4OXW6e","WRGtWRLznJC","WOhcJryztgNcUG","WOWPy8kmWQm+W73cHJ5YW5RcVby","WPVdQXVdJmkv","F8kzWQRcSCoG","W7dcHg5UWQ3dOczAnxLMEbK","WRFdLY3dPSk/","W6JdK8ob","W6a8dGfR","WPNdVSkLz39f","BSouWPRdN2xcNCo6BJOI","WPjMrLLE","rSkPaMigW68","t8oJfSkHua","vNNcHcpdQW","qc7cOq3dSq","W63dJMG","f8kTW5pdLq","vCoOhSkHsWPKtqJcUwvuW6VdSgJdGG","hCk0sCkiWRO","j8kzzmk1WORcRq","W73cOCkWpCocWRpdRmoQo1ddHSo5","WObAer14","jmkdvSoVWOq","r8odWQFdNSoW","nCknW67dOSoRW7K","rdtdRCoQWRi","WOzcANSoWO4kBmkdWOO6oNm","W5lcI8k9WOpcIH5RW7hcHYOQpv8","ns4cWOSp","ztdcJG3dRa","WRNcR0tcP8ow","W7DSWOZcJwXB","WQ/dHv1xrwy","WOhdMaasW6G","oSkdWQaNWQq","g8ojWRhdJbFdRa","zCkmWQ/cU8oQ","W7rLWOhcKwPDWQr3kSkSW7WlqCk+WQH5","W6/cGsVdR8klWQH7W6m","hSo3dCkSzW","WRldGsu0","gSkJqmokWOW","WOpdUdOMW40","kCoQsuJcOmo9CYNcIa","WQn/lZPwEJpcLW","W7LSkmoPW6i","CdFcHGVdRCkDWRJcH8koW6Ctjq","W7NdM8oqjCoR","W6/dKmkDamoCW6u","W5C8W7bWW5LV","DmoBWRtcSCkYWQFdRfxdKMxcRaddMq","WPhcHg3cJSo+","w8kiESk0WQO","W4SDW6lcMN8","WRhcPce/DxNcNdVdVSkx","wmkEzSkU","rSkGWONcH8oBW6r+qLxdPSoUhvuqWRG","W61mgmo9W5zuWP4","WQ3cJ8kqWR3dTq","gCkGyCojWRi","W6ZdNmovW5X+","WRftWR09zSkPWQTOWRigW7dcS8kf","AxFcQsBdQui","WR3cVK/cISoEq0/cVW","W6JdNSklASo0sW","WRtdIv1EvhW","WRxcQmkNWRddPfGY","fCkPW5BdG8owW4FcNa","ECkIWQ7cGSo6","rmoIe8k2ta","zNObWOqOBCkLWPG","o8kEvmktWPS","hCkHC8ojWRK","rdRdLa","xJpcKX3dHG","g8otjSo1W7BdVI8mDCowEa","nmoWDehcJCoHFdm","hY4xWRaS","EColWP/dJhxcRSolDsqUBdy","WOVdVSkLFxe","W755WQRcMMq","W6hdUhbLkaNdHq3dG8kIW68LW5q","W54tW7/cNv0","z8k1WPlcSCo+","WPmHW4BcLJm","W68iW7LO","WRRdUCkhFgW","WRDpmSk1qa","WQVcU0pcJmo5","WOK2WODThbmJqmkqbvZcTCok","W6TLWOpcK31b","etOUWRS0","W7ddLSkCfCon","xCkKbxex","q8kiWQxcJSoF","sSoOhmkJxby","xCkKbxexW4tcSmoebxG","W5hcUGr3W6xdOq","W5xcISk9WPpcGG","ysVdLSoVWQK","W6alW65Upq","W6/dNSoCi8omsYrW","W6RcMW0hza","yCkhWQNcVCoQ","D8oQWPddUmojl30","WQVdOhjwCW","WRRcUWC9C1/cVdJdTCkr","BghcKYJdSe9TWReAdq","W5KqmcTmW5u","CaBdQmoXWRufwmotWQLOFc3cKW","WO/dU8kOCG","WO9uBN1pnq","W7dcHgzLWQVdQIbonMjYBqe","WQqHW5JcScC","W44+W7vSW4q","W7RcIYG7qG","WRpcLLRcNSoZ","W5GulG","c8kJW5pdGW","q8oJe8kMrbTEtrpcGwrv","W6xdGxNcQunbWP5zW7pcHmoqlW","dComWRZdGrFdRa","lCkDBCk5WOdcPmogWOXnWOvDWOpdRG","BghcGcddSe9gWOGkcW","WPrzAw5E","rmkoE8kHWRVdKG","wCkxWRFcQSoH","W6lcTCkFWOtcIG","W65ZWQRcLwrmWOjUiCki","mIWcWOOix8kFWQaBW7fPWPW","W7BcOmk1kSoE","WP/dRx58F1dcSYOoWOBcImocW6m"];return(_0x1ab8=function(){return e})()}function _temp2(e){return e[_0x2386b7(323,"^!@0")]}function _temp3(e){return e[_0x2386b7(354,"rNQh")]}function _temp4(e){return e.selectionVersion}function _temp5(e){return e.currentPlayer}function _temp6(e){return e[_0x2386b7(297,"6q^m")]}function _temp7(e){return e[_0x2386b7(236,"zzAv")]}function _temp8(e){return e[_0x2386b7(301,"M)bs")]}function _temp9(e){return e[_0x2386b7(254,"ziyl")]}function _temp0(e){return e[_0x2386b7(296,"xCg^")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x90e2d1=_0x2aa0;!function(){const e="bvvs",t=_0x2aa0,o=_0x10e2();for(;;)try{if(764163==-parseInt(t(497,"qNhq"))/1+-parseInt(t(455,"P3m["))/2+parseInt(t(379,"b8os"))/3*(parseInt(t(468,"0)lS"))/4)+parseInt(t(370,"w&0^"))/5+parseInt(t(511,"[QJW"))/6*(-parseInt(t(493,e))/7)+-parseInt(t(419,"@[h@"))/8+-parseInt(t(393,e))/9*(-parseInt(t(454,"CCi3"))/10))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x19c7c5}from"react/compiler-runtime";import _0x2075ec,{useEffect,useMemo,useRef}from"react";import{StyleSheet}from"react-native";import{Canvas,Rect,RoundedRect,Circle,Line,LinearGradient,Group,vec}from"@shopify/react-native-skia";import _0x32ecca,{Easing,runOnJS,useDerivedValue,useSharedValue,withSpring,withTiming}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{BOARD_N,CELL,INNER_SIZE,PIECE_RADIUS,BOARD_3D,BOARD_OUTER_W,BOARD_OUTER_H,REVERSI_COLORS as _0xb03a2f,BLACK_3D,WHITE_3D}from"../ReversiConstants.js";import{useReversiStore,useSelectionVersion}from"../ReversiStore.js";import{jsx as _0x4604d2,jsxs as _0x3bd259}from"react/jsx-runtime";const PAD=BOARD_3D[_0x90e2d1(502,"w&0^")],DEPTH=BOARD_3D.DEPTH,R=BOARD_3D[_0x90e2d1(381,"a7g4")],CONTENT=INNER_SIZE+2*PAD,RIM_W=Math[_0x90e2d1(399,"@[h@")](2,Math[_0x90e2d1(435,"3mp4")](.1*PIECE_RADIUS)),_0x377b4d={};_0x377b4d[_0x90e2d1(415,"pDPT")]=BOARD_N*BOARD_N;const CELLS=Array.from(_0x377b4d,(e,t)=>{const o=_0x90e2d1,n={};n[o(446,"w&0^")]=function(e,t){return e/t},n[o(507,"WgXf")]=function(e,t){return e+t},n[o(410,"CCi3")]=function(e,t){return e/t};const d=n,r=Math[o(404,"7hok")](d.ofNEd(t,BOARD_N)),W=PAD+t%BOARD_N*CELL,_=d[o(471,"7hok")](PAD,r*CELL);return{x:W,y:_,cx:W+d[o(484,"0)lS")](CELL,2),cy:_+CELL/2}}),hitTest=(e,t)=>{const o=_0x90e2d1,n={};n[o(451,"pDPT")]=function(e,t){return e<t},n[o(450,"*X5v")]=function(e,t){return e/t},n[o(372,"YygJ")]=function(e,t){return e>=t};const d=n;if(e<PAD||d[o(405,"E3uC")](t,PAD))return-1;const r=Math[o(519,"dSO6")]((e-PAD)/CELL),W=Math[o(395,"egu9")](d.ZlqtF(t-PAD,CELL));return r<0||r>=BOARD_N||W<0||d[o(469,")12V")](W,BOARD_N)?-1:W*BOARD_N+r},BOARD_BG_ELEMENTS=(()=>{const e=_0x90e2d1,t={IOhgf:function(e,t,o,n){return e(t,o,n)},gFUXA:function(e,t){return e-t},dhmwd:function(e,t){return e<=t},ujZKs:function(e,t){return e*t},yDOcI:function(e,t,o){return e(t,o)},TXUzV:function(e,t){return e+t}};let o=0;const n=[],d={x:0};d.y=DEPTH,d[e(470,"9vLF")]=BOARD_OUTER_W,d[e(420,"t2Y3")]=CONTENT,d.r=R,d.color=BOARD_3D[e(437,"5DdP")],n[e(462,"0)lS")](t[e(397,"a7g4")](_0x4604d2,RoundedRect,d,o++));const r={x:0,y:0};r.width=BOARD_OUTER_W,r[e(390,"CCi3")]=CONTENT,r.r=R,r[e(387,"w&0^")]=BOARD_3D.TOP,n.push(_0x4604d2(RoundedRect,r,o++)),n[e(528,"6!5t")](_0x4604d2(Rect,{x:6,y:3,width:t.gFUXA(BOARD_OUTER_W,12),height:3,color:BOARD_3D.HIGHLIGHT,opacity:.5},o++));const W={};W.x=PAD,W.y=PAD,W[e(481,"[CZa")]=INNER_SIZE,W[e(487,"[CZa")]=INNER_SIZE,W[e(371,"EMQh")]=_0xb03a2f.FELT,n[e(417,"juEq")](_0x4604d2(Rect,W,o++));for(let d=0;t.dhmwd(d,BOARD_N);d++){const r=PAD+t[e(376,"k)FZ")](d,CELL);n.push(_0x4604d2(Line,{p1:vec(PAD,r),p2:t[e(430,"D0WK")](vec,PAD+INNER_SIZE,r),color:_0xb03a2f[e(530,"3pWY")],strokeWidth:1},o++)),n.push(_0x4604d2(Line,{p1:vec(r,PAD),p2:vec(r,t[e(477,"dSO6")](PAD,INNER_SIZE)),color:_0xb03a2f.GRID,strokeWidth:1},o++))}for(const[d,r]of[[2,2],[2,6],[6,2],[6,6]])n[e(413,"%(i*")](_0x4604d2(Circle,{cx:PAD+t.ujZKs(r,CELL),cy:PAD+d*CELL,r:Math[e(520,"juEq")](2,t[e(442,"[QJW")](CELL,.06)),color:_0xb03a2f[e(491,"$SqR")]},o++));return n})(),DISC_TEMPLATES=(()=>{const e=_0x90e2d1,t={qNCyG:function(e,t){return e<t},xPkWU:function(e,t,o,n){return e(t,o,n)},wcuFC:function(e,t,o){return e(t,o)},KRytO:function(e,t){return e-t},ahTJy:function(e,t){return e-t},oaebj:function(e,t){return e*t},bHoTw:function(e,t){return e-t}};let o=1e3;const n=[],d=[],r=PIECE_RADIUS;for(let W=0;t.qNCyG(W,BOARD_N*BOARD_N);W++){const{cx:_,cy:x}=CELLS[W];for(const[a,s]of[[n,BLACK_3D],[d,WHITE_3D]]){const n={};n.cx=_,n.cy=x+2,n.r=r,n[e(423,"b8os")]=s[e(416,"g^vj")],a[W]=[_0x4604d2(Circle,n,o++),t.xPkWU(_0x4604d2,Circle,{cx:_,cy:x,r:r,children:_0x4604d2(LinearGradient,{start:t[e(489,"YygJ")](vec,_,t[e(504,"6!5t")](x,r)),end:vec(_,x+r),colors:[s[e(516,"ZikR")],s.bottom]})},o++),_0x4604d2(Circle,{cx:_,cy:x,r:r,style:e(524,"juEq"),strokeWidth:RIM_W,color:s[e(412,"urps")]},o++),_0x4604d2(Circle,{cx:t[e(525,"uuKn")](_,t[e(503,"qNhq")](r,.24)),cy:t[e(501,"V5QX")](x,.28*r),r:.5*r,style:e(378,"P3m["),strokeWidth:2,color:s[e(495,"ja9i")],opacity:.5},o++)]}}const W={};return W[e(515,"CCi3")]=n,W.white=d,W})(),HIGHLIGHT_LAST_MOVE=CELLS[_0x90e2d1(514,"9vLF")]((e,t)=>_0x4604d2(Rect,{x:e.x+1,y:e.y+1,width:CELL-2,height:CELL-2,style:"stroke",strokeWidth:2,color:_0xb03a2f[_0x90e2d1(509,"CCi3")]},"hlm"+t)),HIGHLIGHT_HINT=CELLS[_0x90e2d1(476,"V5QX")]((e,t)=>_0x4604d2(Circle,{cx:e.cx,cy:e.cy,r:.16*CELL,style:_0x90e2d1(527,"eESF"),strokeWidth:2.5,color:_0xb03a2f.HINT_RING},"hh"+t)),useCellPlayer=e=>{const t=_0x90e2d1,o={lbVUG:function(e,t){return e(t)},YqmHu:function(e,t){return e!==t}},n=o[t(401,"@KIo")](_0x19c7c5,2);let d;return o[t(438,"@KIo")](n[0],e)?(d=o=>o.board[e]?.[t(473,"t2Y3")]??null,n[0]=e,n[1]=d):d=n[1],useReversiStore(d)},FLIP_MS=200,DiscNode=_0x2075ec.memo(e=>{const t="[CZa",o=_0x90e2d1,n={gNPsV:function(e,t,o){return e(t,o)},VeIhH:function(e,t){return e(t)},pLyzX:function(e,t){return e!==t},pZYSi:function(e,t){return e!==t},bMvgK:function(e,t,o){return e(t,o)}},d=n[o(499,"7hok")](_0x19c7c5,12),{index:r}=e,W=useCellPlayer(r),_=useSharedValue(1),x=useSharedValue(1),a=n.VeIhH(useRef,W);let s,i;n[o(513,"w&0^")](d[0],_)||d[1]!==x||d[2]!==W?(s=()=>{const e=o,t=a[e(449,"%(i*")];if(a.current=W,t!==W&&null!==W)if(null===t){x.value=0;const t={};t[e(407,"@KIo")]=11,t[e(432,"urps")]=240,x.value=n.gNPsV(withSpring,1,t)}else _[e(429,"juEq")]=0,_.value=withTiming(1,{duration:200,easing:Easing[e(460,"t2Y3")](Easing[e(411,"9vLF")])})},i=[W,_,x],d[0]=_,d[1]=x,d[2]=W,d[3]=s,d[4]=i):(s=d[3],i=d[4]),useEffect(s,i);const u={};u[o(474,"6!5t")]=_[o(383,t)]*x[o(377,"ny*T")];const f={};f.scaleY=x.value;const R=useDerivedValue(()=>[u,f]),C=CELLS[r];let S;n[o(384,"ny*T")](d[5],C.cx)||d[6]!==C.cy?(S=vec(C.cx,C.cy),d[5]=C.cx,d[6]=C.cy,d[7]=S):S=d[7];const k=S;if(!W)return null;const l=W===o(492,"juEq")?DISC_TEMPLATES[o(466,"KfaV")][r]:DISC_TEMPLATES[o(445,"V5QX")][r];let h;if(d[8]!==k||n[o(498,"D0WK")](d[9],l)||n[o(490,"YygJ")](d[10],R)){const e={};e[o(389,"ja9i")]=R,e[o(480,"@[h@")]=k,e[o(456,"3C2t")]=l,h=n[o(494,t)](_0x4604d2,Group,e),d[8]=k,d[9]=l,d[10]=R,d[11]=h}else h=d[11];return h});DiscNode[_0x90e2d1(526,"6!5t")]=_0x90e2d1(400,"pDPT");const DISC_NODES=CELLS.map((e,t)=>_0x4604d2(DiscNode,{index:t},t)),buildHighlightElements=(e,t)=>{const o=_0x90e2d1,n=[];t>=0&&n[o(461,"t2Y3")](HIGHLIGHT_LAST_MOVE[t]);for(const t of e)n[o(500,"3mp4")](HIGHLIGHT_HINT[t]);return n},PiecesCanvas=_0x2075ec[_0x90e2d1(447,"[QJW")](()=>{const e=_0x90e2d1,t={RKQDo:function(e,t,o){return e(t,o)},ETwXP:e(458,"OEtX"),pmNCv:function(e,t){return e===t},ZozoK:function(e,t){return e!==t},fmfxU:function(e,t,o){return e(t,o)}},o=_0x19c7c5(1);let n;if(t[e(380,"0)lS")](o[0],Symbol.for(e(406,"dSO6"))))if(t[e(385,"bvvs")]("UurJQ",e(414,"CCi3"))){const t={};t.cx=_0x45e567,t.cy=_0x3c0008+2,t.r=_0x4c009c,t[e(421,"egu9")]=_0x40c43e[e(444,"ja9i")];const o={};o.cx=_0x318d7f-.24*_0x4d4dce,o.cy=_0x4e2b38-.28*_0x5a0e6a,o.r=.5*_0x2b1e9b,o[e(439,"[!*$")]=e(531,"[CZa"),o[e(418,"egu9")]=2,o[e(505,"a7g4")]=_0x18ad79[e(475,"Bvx2")],o[e(517,"E3uC")]=.5,_0x136676[_0x2cd926]=[_0x26f5ba(_0x47c7a5,t,_0x23d43e++),_0xc5dbcc(_0x1badfe,{cx:_0x2a2fa1,cy:_0x18b382,r:_0xb66159,children:_0x1fea2c(_0xa883b2,{start:_0x498359(_0xd4f3da,_0x3bc5a2-_0x51857e),end:LzdidE[e(373,"7hok")](_0x597dc9,_0x4a5992,_0x446d8b+_0x43c88f),colors:[_0x274a71[e(453,"6!5t")],_0x3098fa.bottom]})},_0x2b580f++),_0x286dcd(_0x476b9b,{cx:_0x41aaf2,cy:_0x40d5d8,r:_0x2cf296,style:LzdidE.ETwXP,strokeWidth:_0x54f2b2,color:_0x3bcafd[e(403,"^ZL#")]},_0x239114++),_0x2b05bd(_0x4843e6,o,_0x6c7cb2++)]}else{const d={};d[e(467,"egu9")]=styles[e(375,"3mp4")],d.pointerEvents=e(428,"6f@Q"),d.children=[BOARD_BG_ELEMENTS,DISC_NODES],n=t.fmfxU(_0x3bd259,Canvas,d),o[0]=n}else n=o[0];return n});PiecesCanvas[_0x90e2d1(425,"ny*T")]=_0x90e2d1(422,"a7g4");const HighlightCanvas=_0x2075ec[_0x90e2d1(486,"k)FZ")](()=>{const e=_0x90e2d1,t=useSelectionVersion(),o=useMemo(()=>{const e=_0x2aa0,t=useReversiStore.getState();return buildHighlightElements(t[e(463,"P3m[")],t.lastMove)},[t]),n={};return n.style=styles[e(457,"0)lS")],n.pointerEvents=e(478,"3mp4"),n[e(496,"WgXf")]=o,_0x4604d2(Canvas,n)});function _0x10e2(){const e=["WPnHnCkNdW","W6xdO1FdUW","WOT5gaNcRmof","WRdcPSkgW5lcLmko","p1G7o1m","ogexlNK","mqPRW7C","sI3cSCoyda","WO5vlSo8xmkwvmoL","WOfrbWNcJW","c8knhKddLSkOp2lcRa","hSo1W5tdRLe7W5JdNq","imk+gConW5xcKIBcIvddLr/cPa","sfRdQNpcSa","tSokd8kjoa","hYdcVsy","W4xcMe54FW","rYS8W63dQ8oVW7i","E8oUs8kxWOy","wSkVW7bnFq","D8kHpgev","EqP3","cCo8W7ZdHuq","uKtdRgC","WPJdGSkUW4ZdNmkBWRLGpW","WRldQf/cUSkXwSkJWRZdO8oEpCoTWOZcT8kJ","nSk5BIBcV2n0W7tdNh3dTCoYW4i","B8o6WRKJW70cW4yRhCkiW6ZcQmk7","zYybW5pdUG","wYBdIq","WRBdR8kCW7VdQa","cmkcCW","fCkCdKucsSkG","WP3dPeVcPSkOqCkHWOddTSoVo8oMWO4","W4HYdSk6W6u","rsdcQa","WPWPvSoKWQBdHadcOCkXz29Ooa","i8ojWRSjbmocW4Ljj8k5zmkhWPG","W5ieiCo6","wZxcOSoudmog","ymkoW4ddTbO","DCkuW7PjxSkwWOrbj8kHsG","WRvfdJfBWO8","yCkiW7Pr","e8krcKa","WPnjgtK","WPbOaWhcR8ou","bmkbcLZdJ8kZpv7cUCkfW6pcPWC","i1PiWPdcMSkuWObfdGFdVfDr","d8oRvmomWQ0","pxiNcvW","sSoKf8kLhW","n30lW7btW5u","ddtcOdHCua","W73dRgddN8om","bd9SWRzN","W5JcRcJdJaLt","BIXAWQymWPJcICkKW5GSW7e8sa","FqHjvZG","rSkpfeCYWOW","WRuVAL/cUG8Hua","WPv9hrVcOq","aHj5WRLA","W6uonSo6uW","WRBdKGCkW5tcPa","DauuW4BdKa","E8oHA8kBWOG","f8kwgeBdICkNn3JcTq","WRZdPSkuW7/dQ8kI","mqD7W6al","WRfygcPy","WO1wa8oTAmkKFCoh","bJDzW5uIW69GeK4iW7K","WQ1/hmkfkG","jSo5h3yxWO/cGh8","xCkbogKb","DCoTxCkAWOddKbJcNW","pmkcWRm","WQJcU8krWPldJ8kaWOa+","WRy7wxJcMW","asTyW5CRW6bT","WQ02WOe","FSodkCkoaG","lmkeb28m","W5X7amk2W6pdN1/cKmkLE0zLhSowocGtW7ldHSo8WRFcP8kEW73dLG","WR44yL3cTq0P","gdZcQJPv","ySkjW7RdIGiRqmkYvq","WOZdTSksW7NdRW","rZldMmoE","WQ/dPSkZ","WOSRW4ldHW","WOhdTSkpW5ldKG","WOdcT8kmWPBdTCkh","W47dJG/dVZFdJW","wdtcO8ot","WRHNaCkfm2NdQ8oDivOQ","y8ouW7XPWO7cUSoKiJ4uySoeW6u","hCoAW5vzuSkh","WQH8h8kfkG","rmkNnw0cWQZcGxRdKCoDv8oz","phCoW7Hj","oCkgWQi/W5FdUW","fJDZWRnUuNxdK8onWRST","nX3cVYfufCo5W5KAWQe9W6pdJW","sZpcTCoAe8og","WRVdNaCz","xIdcVmooaG","qutdVepcKa","dCknfMxdNq","WQ7dU8k3fCowA8krW5Tu","lslcVGj+","W74dtw4hW58IB8odhejAWOa","htRcUYbz","W5dcUuvyya","W5XUe8kQW4W","WOmOyMxcQq","kmk+W7b2WQa","WPjqda","WPbcobz7","CmoJaLZdVa","jL4AW4ddPSodW55W","emkmgeZdLCk2","W5dcUeHyBq","EaW2W6ZdHG","AmoSnxG","WRNcSGlcPCkiWPufmCkuWR3cJSkRcG","WPGRW4pdNq40WQa","W78oW7PVgW","WRRcUSkkWRJdPG","d8o4W5hdO0eGW4VdLG","zCksW7K","W6ZcSComWQJcTmoJW4zUdCowj8onW5C","WPNdRgJcK1qdW7CAWP5xhXBcTG","z0xdOhWavmkKW6u","BGrPyI9y","W51vWQlcTSohxG","p8kJW7PQWQLwWOOwjSkeW58","gSokW4G","bCokW49w","Frb0Fa","W53cUtBdIGzIWQiUWPHhibq","WQO2FetcQaOHsq","W4tcPvnEBCkbDW","WPJdRvNcSCk2","WRHNcSkgpq","oqjZwG94ya","FqKtmmoh","qs7dNCoomq","Bmoob8kMaq","WP5Na8kdhW","bCotW51hx8kb","ySkEW6Hvv8kV","WRdcQSkiW53cKmktB8kCW6e","W4RcSve","W7PgnmkVW4e","atRcOcS","WPSgWOq4aq","pSkrWQi/W5BdOq","WPr1frRcRa","W7GaiCoWwSkBxSorW64","i1TpWPhcM8kwW79fhahdUei","vrbODsi"];return(_0x10e2=function(){return e})()}function _0x2aa0(e,t){e-=369;const o=_0x10e2();let n=o[e];if(void 0===_0x2aa0.WDRVBu){const e=function(e,t){let o,n,d=[],r=0,W="";for(e=function(e){let t="",o="";for(let o,n,d=0,r=0;n=e.charAt(r++);~n&&(o=d%4?64*o+n:n,d++%4)?t+=String.fromCharCode(255&o>>(-2*d&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),n=0;n<256;n++)d[n]=n;for(n=0;n<256;n++)r=(r+d[n]+t.charCodeAt(n%t.length))%256,o=d[n],d[n]=d[r],d[r]=o;n=0,r=0;for(let t=0;t<e.length;t++)n=(n+1)%256,r=(r+d[n])%256,o=d[n],d[n]=d[r],d[r]=o,W+=String.fromCharCode(e.charCodeAt(t)^d[(d[n]+d[r])%256]);return W};_0x2aa0.RcdyDS=e,_0x2aa0.xvIHjD={},_0x2aa0.WDRVBu=!0}const d=o[0];_0x2aa0.ltjmkw!==d&&(_0x2aa0.xvIHjD={},_0x2aa0.ltjmkw=d);const r=_0x2aa0.xvIHjD[e];return void 0===r?(void 0===_0x2aa0.FSkdOw&&(_0x2aa0.FSkdOw=!0),n=_0x2aa0.RcdyDS(n,t),_0x2aa0.xvIHjD[e]=n):n=r,n}HighlightCanvas[_0x90e2d1(394,"$SqR")]=_0x90e2d1(510,"KfaV");export const GameBoard=_0x2075ec[_0x90e2d1(523,"bvvs")](({onCellPress:e})=>{const t=_0x90e2d1,o={nioMg:t(472,"egu9"),ubLci:t(485,"egu9"),BwpLC:function(e,t){return e===t},SYQEE:function(e,t,o){return e(t,o)}},n=useRef(e);n[t(402,"$SqR")]=e;const d=useRef((e,d)=>{const r=t;if(o[r(431,"ja9i")]===o.ubLci){const e=[];_0x4d10f1>=0&&e[r(529,"ja9i")](_0x718024[_0x283d10]);for(const t of _0x2eb70f)e.push(_0x4bbb2e[t]);return e}{const t=hitTest(e,d);if(-1===t)return;n[r(465,"V5QX")](t)}}).current,r=useMemo(()=>Gesture[t(440,"eESF")]()[t(388,"qNhq")](e=>{const n=t;o[n(433,"3mp4")](n(479,"^ZL#"),n(441,"3pWY"))?runOnJS(d)(e.x,e.y):_0x241f7c=_0x30c3e6[11]}),[]);return _0x4604d2(_0x32ecca[t(508,"3C2t")],{style:styles.container,children:o[t(391,"$SqR")](_0x4604d2,GestureDetector,{gesture:r,children:o.SYQEE(_0x3bd259,_0x32ecca.View,{style:styles[t(369,"ja9i")],children:[_0x4604d2(PiecesCanvas,{}),_0x4604d2(HighlightCanvas,{})]})})})});GameBoard[_0x90e2d1(459,"[!*$")]=_0x90e2d1(482,"bvvs");const _0x2216fe={};_0x2216fe[_0x90e2d1(408,"3mp4")]=BOARD_OUTER_W,_0x2216fe[_0x90e2d1(424,"@[h@")]=BOARD_OUTER_H,_0x2216fe[_0x90e2d1(382,"@KIo")]="hidden";const _0x3fd4d5={};_0x3fd4d5[_0x90e2d1(392,"eESF")]=BOARD_OUTER_W,_0x3fd4d5[_0x90e2d1(374,"b8os")]=BOARD_OUTER_H,_0x3fd4d5.position=_0x90e2d1(452,"WgXf");const _0x180ade={};_0x180ade[_0x90e2d1(464,"@KIo")]=_0x90e2d1(398,"qNhq"),_0x180ade[_0x90e2d1(506,"0)lS")]=0,_0x180ade.left=0,_0x180ade[_0x90e2d1(436,"V5QX")]=BOARD_OUTER_W,_0x180ade[_0x90e2d1(488,"Bvx2")]=BOARD_OUTER_H;const _0x1fc81c={};_0x1fc81c[_0x90e2d1(409,"uuKn")]=_0x2216fe,_0x1fc81c[_0x90e2d1(518,"KfaV")]=_0x3fd4d5,_0x1fc81c[_0x90e2d1(386,"6f@Q")]=_0x180ade;const styles=StyleSheet[_0x90e2d1(427,"juEq")](_0x1fc81c);
@@ -1 +0,0 @@
1
- "use strict";const _0x3be8ab=_0x109b;!function(){const e="bxdl",o=_0x109b,t=_0x3ec0();for(;;)try{if(127112==-parseInt(o(208,"%%)O"))/1+parseInt(o(200,"G0L$"))/2*(parseInt(o(202,"g^YE"))/3)+parseInt(o(207,"rzQv"))/4+parseInt(o(187,"5kYr"))/5+-parseInt(o(216,e))/6*(-parseInt(o(201,"Fszk"))/7)+-parseInt(o(195,"%ILa"))/8+-parseInt(o(215,e))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x39d24e}from"react/compiler-runtime";import _0x29979c from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreTimer,ScoreColumn,scoreBoardStyles as _0x1f00a1}from"../../../helpers/index.js";import{useScore,useTimeLeft,useBlackCount,useWhiteCount}from"../ReversiStore.js";import{jsx as _0x470d12,jsxs as _0x3836a9}from"react/jsx-runtime";export const ScoreBoard=_0x29979c[_0x3be8ab(212,"RKNn")](e=>{const o=_0x3be8ab,t={szFLP:function(e){return e()},SVdnE:function(e,o){return e!==o},ikTkG:o(210,"RKNn"),BKSwY:function(e,o){return e!==o},DknKC:function(e,o,t){return e(o,t)}},r=_0x39d24e(13),{offset:n}=e,s=void 0===n?0:n,i=useScore(),a=t[o(206,"fNCN")](useBlackCount),d=useWhiteCount(),x=useTimeLeft();let W;if(t[o(205,"8OZR")](r[0],i)){const e={};e[o(213,"BLjT")]=i,W=_0x470d12(ScoreValue,e),r[0]=i,r[1]=W}else W=r[1];const u=a+"-"+d;let f,k,m,S;if(r[2]!==u){const e={};e[o(193,"xp@C")]=t[o(199,"jJHU")],e.value=u,f=_0x470d12(ScoreColumn,e),r[2]=u,r[3]=f}else f=r[3];if(r[4]!==x){const e={};e[o(190,"bxdl")]=x,k=_0x470d12(ScoreTimer,e),r[4]=x,r[5]=k}else k=r[5];if(r[6]!==W||r[7]!==f||t[o(189,"li9M")](r[8],k)){const e={};e[o(209,"bRA$")]=_0x1f00a1[o(188,"8tYL")],e.children=[W,f,k],m=_0x3836a9(View,e),r[6]=W,r[7]=f,r[8]=k,r[9]=m}else m=r[9];if(r[10]!==s||t.SVdnE(r[11],m)){const e={};e[o(197,"fHk@")]=s,e.children=m,S=t[o(191,"%ILa")](_0x470d12,ScoreBoardContainer,e),r[10]=s,r[11]=m,r[12]=S}else S=r[12];return S});function _0x109b(e,o){e-=187;const t=_0x3ec0();let r=t[e];if(void 0===_0x109b.VfwEpk){const e=function(e,o){let t,r,n=[],s=0,i="";for(e=function(e){let o="",t="";for(let t,r,n=0,s=0;r=e.charAt(s++);~r&&(t=n%4?64*t+r:r,n++%4)?o+=String.fromCharCode(255&t>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=o.length;e<r;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)s=(s+n[r]+o.charCodeAt(r%o.length))%256,t=n[r],n[r]=n[s],n[s]=t;r=0,s=0;for(let o=0;o<e.length;o++)r=(r+1)%256,s=(s+n[r])%256,t=n[r],n[r]=n[s],n[s]=t,i+=String.fromCharCode(e.charCodeAt(o)^n[(n[r]+n[s])%256]);return i};_0x109b.yAAcoz=e,_0x109b.IhxjZi={},_0x109b.VfwEpk=!0}const n=t[0];_0x109b.PkJQSg!==n&&(_0x109b.IhxjZi={},_0x109b.PkJQSg=n);const s=_0x109b.IhxjZi[e];return void 0===s?(void 0===_0x109b.aMSwLk&&(_0x109b.aMSwLk=!0),r=_0x109b.yAAcoz(r,o),_0x109b.IhxjZi[e]=r):r=s,r}function _0x3ec0(){const e=["BqxdRudcMmoFW40","EmkWW7vrWRy","W5ZdJCo1WRhdPG","o8osp8kgWO9zuMvDWRtcSCkj","pSkdWQGFlSk/g8k4W5FdPae","W71yhNhdIq","jbHLt8o/W4y","ymkuDCk1wmkqt24","edjDdq","j8ofCSk1tW","W7arWR8GW4HNwmkdWO3cJG","dg/dVmooW4nhjbOes8oHvwK","d2/dUColW4vairyhDmogweS","z8kEW6i0Eqj+krtdO8oKWQ4","ASoGba","WRyWWQ8bqq","ttNcQ8kxWP8qya","W68LWRtcNZG","W4H+E8kpWP/cO8kaWRHEiL9M","DqRcO2pdKa","gqpdHCoeWOpcNCkNW7NdTmozdCkIW50","WPP9W6RdPeVcRsFcSxxcUmo6DsK","W7NcN8k5r8oiW5FdGMaZusO","W4JcJ8k8tYPR","W5BcHSkjFmohASoLWOvjW4ldHui","uxDvh2i","qSkdW77cMmoccH3cTCkEW6D0","tmo6W5eGE8ovmG","WQhcLCkfWOddHSkcCmkH","f8oDpGtcMCkwySolWRNcS3S"];return(_0x3ec0=function(){return e})()}ScoreBoard.displayName=_0x3be8ab(214,"%![s");
@@ -1 +0,0 @@
1
- "use strict";function _0x43bf(r,e){r-=297;var o=_0x2952(),t=o[r];void 0===_0x43bf.CFbbkP&&(_0x43bf.MAKnEB=function(r,e){var o,t,n=[],W=0,a="";for(r=function(r){for(var e,o,t="",n="",W=0,a=0;o=r.charAt(a++);~o&&(e=W%4?64*e+o:o,W++%4)?t+=String.fromCharCode(255&e>>(-2*W&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(var i=0,d=t.length;i<d;i++)n+="%"+("00"+t.charCodeAt(i).toString(16)).slice(-2);return decodeURIComponent(n)}(r),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)W=(W+n[t]+e.charCodeAt(t%e.length))%256,o=n[t],n[t]=n[W],n[W]=o;t=0,W=0;for(var i=0;i<r.length;i++)W=(W+n[t=(t+1)%256])%256,o=n[t],n[t]=n[W],n[W]=o,a+=String.fromCharCode(r.charCodeAt(i)^n[(n[t]+n[W])%256]);return a},_0x43bf.TnGLCZ={},_0x43bf.CFbbkP=!0);var n=o[0];_0x43bf.wZMDTW!==n&&(_0x43bf.TnGLCZ={},_0x43bf.wZMDTW=n);var W=_0x43bf.TnGLCZ[r];return void 0===W?(void 0===_0x43bf.UTpHuH&&(_0x43bf.UTpHuH=!0),t=_0x43bf.MAKnEB(t,e),_0x43bf.TnGLCZ[r]=t):t=W,t}var _0x477d1e=_0x43bf;!function(){for(var r=_0x43bf,e=_0x2952();;)try{if(637466==-parseInt(r(319,"ejQ2"))/1*(parseInt(r(304,"$rZ0"))/2)+parseInt(r(317,"0B]u"))/3+parseInt(r(298,"#FN$"))/4+parseInt(r(315,"$rZ0"))/5*(parseInt(r(303,"djTD"))/6)+parseInt(r(321,"sCLQ"))/7+-parseInt(r(305,"QiDw"))/8*(parseInt(r(300,"$rZ0"))/9)+-parseInt(r(320,"QiDw"))/10*(parseInt(r(308,"xln%"))/11))break;e.push(e.shift())}catch(r){e.push(e.shift())}}();import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";function _0x2952(){var r=["DSoYhSkix2xdMHGs","hfOHWP/cQSo7qW","gejZW7Dgc8khW6LgohVdMq","vSkfaSoCfauBxSon","AmomWPe2beBdUSoiFCkmqCofWPW","vLKIWOVcJ8oywXr/","WReaWPxcImk3WP5QWPrr","WPXYseZdKSk6kG","WR/dQ8orl8oesSkgW4Xv","D8o6cCoUj8kxW4PlW6ldLxLbgW","W7JcP3ndW4FdTCks","W5WkBSo8Dmo7sq","W4jtWQFcLX0UWOrsW5HdWOBcJa","ACojWP87aeJdTmozymk3xmobWPm","c0b+W6RdKgewW6/cQxCEgCkn","W5PPfSkIeCk1mttdR8oQtSoiW6W","WQBdIg3cS8kqW5T9emo6g8kXFCoU","smooi8kDWRiHzHyKta","WPbHyvVdQSkxda","zspcM8ocW7OXW7RcQmoZ","m3xdGmobW4GOW5pcGSoZ","lbrzWQpdNhXPimoLwCo6dW","WPSVnqFcRSoRc0pdPHnyjW","W4ruWQtcLb4PW6nDW7rxWQpcSCke","W6tcQaWViW","ECkZW6xdS0FcQd0"];return(_0x2952=function(){return r})()}export class SlidingNumbersService{[_0x477d1e(314,"&w7]")]=null;[_0x477d1e(299,"o]yh")](r){var e=_0x477d1e;this.stopTimer(),this[e(302,"DMWL")]={rTQUp:function(r,e,o){return r(e,o)}}[e(306,"CwHF")](setGameInterval,r,1e3)}[_0x477d1e(313,"i6l5")](){var r=_0x477d1e;this[r(311,"poWh")]&&(clearGameInterval(this.gameTimer),this[r(311,"poWh")]=null)}cleanup(){this[_0x477d1e(316,"h1!(")]()}}
@@ -1 +0,0 @@
1
- "use strict";const _0xdee2f9=_0x2483;!function(){const e=_0x2483,t=_0x3203();for(;;)try{if(401174==parseInt(e(388,"CXnF"))/1+-parseInt(e(376,"JJcw"))/2+-parseInt(e(323,"5q7B"))/3+-parseInt(e(382,"W]C["))/4*(-parseInt(e(363,"oKl!"))/5)+parseInt(e(335,"bUHS"))/6+parseInt(e(316,"Q5IW"))/7+-parseInt(e(351,"&[*V"))/8)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{GRID_SIZE,TOTAL_TILES,SLIDING_NUMBERS_GAME_CONFIG}from"./SlidingNumbersConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";export const useSlidingNumbersStore=create()(subscribeWithSelector(immerMiddleware((e,t)=>({isPlaying:!1,isCompleted:!1,isGameOver:!1,tiles:[],emptyRow:GRID_SIZE-1,emptyCol:GRID_SIZE-1,tilesVersion:0,score:0,timeLeft:SLIDING_NUMBERS_GAME_CONFIG[_0xdee2f9(348,"8O[e")],initializePuzzle:()=>{const t={QiWDx:function(e,t){return e===t},MdVZP:function(e,t){return e/t},bAVSa:function(e,t){return e-t},xFlbJ:function(e,t){return e<t},jckWb:function(e,t){return e*t},nNWUl:function(e,t){return e+t},XGfMz:function(e,t){return e&&t},ZHqHC:function(e,t){return e(t)}};t.ZHqHC(e,e=>{const o=_0x2483;if("lwodH"===o(349,"Bp5A")){const n=[];for(let e=0;e<TOTAL_TILES;e++)n.push({id:e,value:t[o(338,"CXnF")](e,TOTAL_TILES-1)?0:e+1,row:Math[o(352,"bUHS")](t[o(367,"zTXo")](e,GRID_SIZE)),col:e%GRID_SIZE});let r=GRID_SIZE-1,W=t[o(344,"7DLO")](GRID_SIZE,1);const i=[[-1,0],[1,0],[0,-1],[0,1]];for(let e=0;t[o(355,"Bp5A")](e,200);e++){const e=[];for(const n of i){const i=r+n[0],s=W+n[1];i>=0&&t[o(332,"8O[e")](i,GRID_SIZE)&&s>=0&&s<GRID_SIZE&&e[o(314,"fZ*N")](n)}const s=e[Math[o(399,"fNre")](t[o(391,"i$Ql")](Math.random(),e[o(384,"LmKT")]))],m=r+s[0],u=t[o(354,"xO7p")](W,s[1]),S=n[o(333,"kAX^")](e=>e[o(410,"33SY")]===m&&e[o(311,"5q7B")]===u),d=n.find(e=>0===e.value);t[o(325,"Ys^n")](S,d)&&(d[o(353,"^%Ug")]=m,d[o(381,"EL^H")]=u,S[o(341,"fIiO")]=r,S[o(366,"fNre")]=W,r=m,W=u)}e[o(368,"i$Ql")]=n,e[o(329,"CXnF")]=r,e[o(318,"fIiO")]=W,e.score=0,e.timeLeft=SLIDING_NUMBERS_GAME_CONFIG[o(406,"Q5IW")],e[o(359,"Ys^n")]=!1,e.isGameOver=!1,e[o(396,"wHjG")]=!1,e[o(375,"2F%6")]+=1}else _0x1d0744[o(347,"qgw5")](_0x47a237)})},moveTile:t=>{const o=_0xdee2f9,n={vKaVW:function(e,t){return e-t},nUJrj:function(e,t){return e/t},UEizM:function(e,t){return e===t},FQUnQ:function(e,t){return e(t)}};let r=!1;return n[o(373,"&[*V")](e,e=>{const W=o;if(!e[W(398,"2F%6")]||e[W(400,"zTXo")])return;const i=e[W(405,"kAX^")][W(401,"&[*V")](e=>e.id===t);if(!i||0===i[W(403,"fZ*N")])return;const s=Math[W(356,"h4UI")](i[W(342,"Q5IW")]-e[W(393,"zTXo")]),m=Math[W(334,"hwl^")](i.col-e[W(321,"CXnF")]);if(!(n[W(390,"oW7V")](s,1)&&0===m||n[W(313,"GphQ")](s,0)&&1===m))return;const u=e[W(324,"h4UI")][W(371,"J477")](e=>0===e[W(404,"W]C[")]);if(!u)return;const S=i.row,d=i[W(377,"eJ1S")];if(i.row=e[W(374,"bJ3G")],i.col=e[W(365,"fZ*N")],u.row=S,u[W(327,"W]C[")]=d,e[W(407,"oW7V")]=S,e[W(360,"W]C[")]=d,e[W(337,"8O[e")]+=1,r=!0,e[W(392,"LmKT")].every(e=>{const t=W;if(t(386,"&[*V")===t(408,"2F%6")){if(0===e.value)return e[t(322,"eJ1S")]===n[t(345,"AmsN")](GRID_SIZE,1)&&e[t(336,"Q2hO")]===GRID_SIZE-1;const o=Math.floor(n[t(326,"33SY")](e.value-1,GRID_SIZE)),r=(e[t(387,"hwl^")]-1)%GRID_SIZE;return e.row===o&&e.col===r}return _0x5af9cb[t(312,"J477")]})){const t=SLIDING_NUMBERS_GAME_CONFIG[W(357,"N8y0")]-e[W(402,"Ys^n")];e[W(319,"bJ3G")]=calculateTimeBasedScore(t,SLIDING_NUMBERS_GAME_CONFIG.GAME_DURATION,e[W(362,"kAX^")]),e[W(350,"7DLO")]=!0,e.isPlaying=!1}}),r},startGame:()=>{e(e=>{const t=_0x2483;e.isPlaying=!0,e[t(372,"6O2*")]=!1,e[t(379,"GphQ")]=!1})},stopGame:()=>{const e=_0xdee2f9;t()[e(315,"hwl^")]()},resetGame:()=>{e(e=>{const t=_0x2483,o="2|0|3|1|4"[t(364,"7DLO")]("|");let n=0;for(;;){switch(o[n++]){case"0":e.isCompleted=!1;continue;case"1":e[t(395,"Q5IW")]=0;continue;case"2":e.isPlaying=!1;continue;case"3":e[t(380,"bUHS")]=!1;continue;case"4":e[t(330,"W]C[")]=SLIDING_NUMBERS_GAME_CONFIG[t(397,"M^Ks")];continue}break}})},decrementTime:()=>{const t={UvPpU:"gOESD",WcPyh:function(e,t){return e(t)}};t.WcPyh(e,e=>{const o=_0x2483;if("GifBp"===t[o(328,"eJ1S")])return _0x32440b(_0x564395);!e.isPlaying||e[o(400,"zTXo")]||e[o(331,"1%Qi")]||(e[o(394,"wHjG")]-=1,e[o(339,"JJcw")]<=0&&(e[o(320,"VHzi")]=0,e[o(317,"EL^H")]=!0,e[o(389,"hwl^")]=!1,e.score=0))})}}))));export const useIsPlaying=()=>useSlidingNumbersStore(_temp);export const useIsCompleted=()=>({SLsum:function(e,t){return e(t)}}[_0xdee2f9(346,"bJ3G")](useSlidingNumbersStore,_temp2));function _0x3203(){const e=["W5NdLtlcKYq","omoaW5/dKKS","W4JdU8kBCCk2","WQRdG8ki","W79ifmk6W6e","lCk+bgJdTCkzgYy","WR3dHCkjy8knWPJcVmk8","W4xcRZvXW7D6WRjyB0q","WPhcHCkmf8oC","yJJcV8kQ","WRjKga","drdcGMRdGCodWRbSW6RcHahdVG","pCkSW54","WP3cQSkmemoLwmoTmCoPWQBdHSo4","gCk6i1JdTa","W5vlW7uQxr4YFq","W6elWQf+aHRcIMrDWPGl","W6pdUmkK","W6xcUSoN","W4tdSu7dPSk1axFdOG","g8knoSoKW5i","W619CddcSG","W5OprSkaWQ8","tmkNW75b","WQ7cGSkTmmojsSoDeCoBWPVdOmozWOG","vmkRC2yq","emk/l8oyW54Vk1D4B8kk","CGulWOFdUmovfYlcR8kjqZ4Y","u0JdMZxcGW","dCkiyq","W7ulW6veBW","qmkACgas","W4ZdNI0","WQOHW6mGW7WmW6RcRmoxwmk4WR1+","t8odBmozfSoka0yWWOW","cCo0W7RdSfW0cmovWQmVga","WQZdGCkuCSk4WR7cTCkK","t8kXW6jBWRm","DZlcVSk8WP0","W7nRWOaLWQ5sqSkUWRtdLG","cSk8amoEW4C","r8k6W6S9zmkNW67dRa","bCovlG","W4z8i2JdIq","DSkIWOjVya","WRulw8okF3zrW7ldO8oQ","umkoDmolW5RcQmkPv03cSdDr","o8kKW6St","WP7cRmoQqNJcJbataJlcSW","agjUW5hcNa","W6WUrCkbWRVcQWbb","cSkBmSkiiCookf4eWQrQWP8","WPutWQH+j08TrSorsM3cPq","W4Lrka","W6C3w3VcUSoLW7xcPmkOWQhcMSkO","W4qKWORcL8outmkiW41+gW","xfFdSZVcNmkwWQTFW5NcMW","W7TRdW","W7JcNCowmSkfWQ/cLmkIW5lcNa","W77cPSoaWQlcTmoYpwrU","bW7dICoRWQ3cHW","WRClW4bvkmoeW68nWRvUESoRW7K","lNTDW4ZcLW","WQvNbZ/dQq","FSoGqcRcU8o9nXmAyCkuyG","WRP1oYBdRCkOW6xcHCkH","W7pcImkRWO94","AmkOWOvDCq","hWldI8oPWQO","W651buBdOavtka","pmkIySonW4T+WPRdRq","W6tcTSo/WRZcSa","iCk4x8oeW6zIWPxdT3m","i340iuLhlaRcPmk2FCkzEG","f8kbdSkbm8oHjeiq","amowlCkwWP4","W6jRnL3dTcDqoLeCpa","ifPvW5S","fmoUW5tdUN0HaSoe","vmk2W7C8Ea","WR/dJCkiC8kK","CdJcVCkRWOS","W5dcLmoDWOVcISopavHiW4tcTvFdKq","W4pcOmkYWOfme2rV","fSk6omkEca","W79OWOeGW58iwmkLWONdSuRcLG","W5tdGCkM","W6SxWO4","nmk+W4iwzmoNgJldOCkm","W7GsWQtcJmo0","uSkIW6GH","WQfJgc/dUmkwW63cHSkJ","WQxdOCkNW7VdRmkYBgz+W4xcNw7dKG","W7f3jmosqmktEmoQw3a","W7tdUSkJhCkWW5DBWQu","W7OGwSkhWQC","lrysW6/dRamAfa","lCk+bgJdTCkigZ0","W5HrmW","WR5mW5qJwvZcS1LdWPymWQ0"];return(_0x3203=function(){return e})()}export const useIsGameOver=()=>useSlidingNumbersStore(_temp3);export const useScore=()=>useSlidingNumbersStore(_temp4);function _0x2483(e,t){e-=311;const o=_0x3203();let n=o[e];if(void 0===_0x2483.gCytsl){const e=function(e,t){let o,n,r=[],W=0,i="";for(e=function(e){let t="",o="";for(let o,n,r=0,W=0;n=e.charAt(W++);~n&&(o=r%4?64*o+n:n,r++%4)?t+=String.fromCharCode(255&o>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)W=(W+r[n]+t.charCodeAt(n%t.length))%256,o=r[n],r[n]=r[W],r[W]=o;n=0,W=0;for(let t=0;t<e.length;t++)n=(n+1)%256,W=(W+r[n])%256,o=r[n],r[n]=r[W],r[W]=o,i+=String.fromCharCode(e.charCodeAt(t)^r[(r[n]+r[W])%256]);return i};_0x2483.GPfVtm=e,_0x2483.mDZvng={},_0x2483.gCytsl=!0}const r=o[0];_0x2483.oMsRap!==r&&(_0x2483.mDZvng={},_0x2483.oMsRap=r);const W=_0x2483.mDZvng[e];return void 0===W?(void 0===_0x2483.ItgNSi&&(_0x2483.ItgNSi=!0),n=_0x2483.GPfVtm(n,t),_0x2483.mDZvng[e]=n):n=W,n}export const useTimeLeft=()=>useSlidingNumbersStore(_temp5);export const useTilesVersion=()=>useSlidingNumbersStore(_temp6);function _temp(e){return e[_0xdee2f9(383,"Q5IW")]}function _temp2(e){return e[_0xdee2f9(340,"5q7B")]}function _temp3(e){return e[_0xdee2f9(379,"GphQ")]}function _temp4(e){return e[_0xdee2f9(361,"qgw5")]}function _temp5(e){return e[_0xdee2f9(343,"4Q^t")]}function _temp6(e){return e.tilesVersion}
@@ -1 +0,0 @@
1
- "use strict";const _0x392d53=_0x410a;!function(){const o=_0x410a,W=_0x36b3();for(;;)try{if(290716==parseInt(o(324,"JJzm"))/1*(-parseInt(o(286,"G$xh"))/2)+-parseInt(o(319,"KWyS"))/3+parseInt(o(195,"n57("))/4*(-parseInt(o(335,"^B#7"))/5)+-parseInt(o(171,"j#sC"))/6*(parseInt(o(314,"5^U@"))/7)+parseInt(o(309,"g([2"))/8+-parseInt(o(232,"iI8M"))/9+-parseInt(o(306,"3PyN"))/10*(-parseInt(o(273,"iI8M"))/11))break;W.push(W.shift())}catch(o){W.push(W.shift())}}();import{c as _0x2a4da7}from"react/compiler-runtime";import _0x431140,{useMemo,useRef,useEffect}from"react";import{StyleSheet,Platform}from"react-native";import{Canvas,RoundedRect,Rect,Text as _0x2213d0,matchFont,Group}from"@shopify/react-native-skia";import{isTablet}from"../../../services/UtilsService.js";import _0x377f26,{useSharedValue,useAnimatedStyle,withTiming,withSequence,Easing,runOnJS}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{useTilesVersion,useSlidingNumbersStore}from"../SlidingNumbersStore.js";import{GRID_SIZE,SLIDING_NUMBERS_GAME_CONFIG as _0x36e011,SLIDING_NUMBERS_COLORS as _0x277212,SLIDING_NUMBERS_ANIMATION_CONFIG as _0x46dbe0,getTile3DColors,NUMBER_WORDS}from"../SlidingNumbersConstants.js";import{playSound,GAME_SOUNDS}from"../../../services/SoundsService.js";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{jsx as _0x55a3aa,jsxs as _0x3094cc}from"react/jsx-runtime";const TILE_SIZE=_0x36e011.TILE_SIZE,TILE_GAP=_0x36e011.TILE_GAP,TILE_DEPTH=_0x36e011[_0x392d53(277,"4iOP")],TILE_R=_0x36e011[_0x392d53(204,"ge!)")],BOARD_PAD=_0x36e011[_0x392d53(188,"ge!)")],BOARD_DEPTH=_0x36e011.BOARD_DEPTH,BOARD_W=_0x36e011[_0x392d53(300,"y!0m")],BOARD_H=BOARD_W+BOARD_DEPTH,CANVAS_W=BOARD_W,CANVAS_H=BOARD_H,CELL_STRIDE=TILE_SIZE+TILE_GAP,WELL_X=BOARD_PAD,WELL_Y=BOARD_PAD,NUMBER_FONT_SIZE=Math.round(.42*TILE_SIZE),WORD_FONT_SIZE=Math[_0x392d53(214,"EaCY")](.14*TILE_SIZE),_0x24f971={};_0x24f971[_0x392d53(179,"i4SU")]="Helvetica",_0x24f971[_0x392d53(281,"ib3%")]="sans-serif";const FONT_FAMILY=Platform[_0x392d53(325,"vP*[")](_0x24f971),HIT_MARGIN=TILE_GAP/2;let _k=0;const buildBoardElements=()=>{const o="CuGB",W=_0x392d53,t={AkvaB:function(o,W,t,e){return o(W,t,e)},llxsC:function(o,W){return o-W},WbkYg:function(o,W,t,e){return o(W,t,e)},oWfGt:function(o,W){return o-W},Rwcai:function(o,W){return o*W},olvnK:function(o,W,t,e){return o(W,t,e)}},e=[],_={x:0};_.y=BOARD_DEPTH,_.width=BOARD_W,_[W(316,"i4SU")]=BOARD_W,_.r=isTablet?20:16,_.color=_0x277212.BOARD_FRONT,e.push(t.AkvaB(_0x55a3aa,RoundedRect,_,_k++));const d={x:0,y:0};d[W(303,"w(Nk")]=BOARD_W,d[W(271,"vP*[")]=BOARD_W,d.r=isTablet?20:16,d.color=_0x277212[W(233,"u]oy")],e[W(265,"5^U@")](t.AkvaB(_0x55a3aa,RoundedRect,d,_k++)),e[W(317,"w(Nk")](_0x55a3aa(Rect,{x:4,y:2,width:t[W(252,"y!0m")](BOARD_W,8),height:3,color:_0x277212.BOARD_HIGHLIGHT,opacity:.5},_k++));const n=BOARD_PAD-4;e[W(259,"3q3Q")](t.WbkYg(_0x55a3aa,RoundedRect,{x:n,y:n,width:t.oWfGt(BOARD_W,2*n),height:BOARD_W-t.Rwcai(n,2),r:isTablet?14:10,color:_0x277212[W(253,"5RfM")]},_k++));for(let _=0;_<GRID_SIZE;_++)for(let d=0;d<GRID_SIZE;d++){const n=WELL_X+d*CELL_STRIDE,a=WELL_Y+t[W(193,"WbTC")](_,CELL_STRIDE),x={};x.x=n,x.y=a,x[W(155,"KWyS")]=TILE_SIZE,x[W(249,"j#sC")]=TILE_SIZE,x.r=TILE_R,x[W(274,o)]=_0x277212.SLOT_BG,e[W(296,"CuGB")](t[W(215,o)](_0x55a3aa,RoundedRect,x,_k++))}return e},BOARD_ELEMENTS=buildBoardElements(),TILE_TEMPLATES={};for(let o=1;o<=8;o++){const W=getTile3DColors(o),t={x:0};t.y=TILE_DEPTH,t.width=TILE_SIZE,t[_0x392d53(161,"^hDJ")]=TILE_SIZE,t.r=TILE_R,t.color=W[_0x392d53(213,"kq(d")];const e={};e.x=TILE_SIZE-3,e.y=TILE_DEPTH+2,e.width=3,e[_0x392d53(249,"j#sC")]=TILE_SIZE-4,e[_0x392d53(326,"u!s^")]=W[_0x392d53(239,"g([2")],e[_0x392d53(342,"G$xh")]=.6;const _={x:0,y:0};_[_0x392d53(147,"EaCY")]=TILE_SIZE,_[_0x392d53(174,"s&ba")]=TILE_SIZE,_.r=TILE_R,_.color=W.front;const d={x:6,y:2};d[_0x392d53(162,"4iOP")]=TILE_SIZE-12,d[_0x392d53(301,"L(kt")]=2,d[_0x392d53(333,"M9Fz")]=W[_0x392d53(282,"UT#7")],d[_0x392d53(340,"KWyS")]=.7;const n={x:2,y:6};n[_0x392d53(248,"j#sC")]=2,n.height=TILE_SIZE-12,n[_0x392d53(326,"u!s^")]=W[_0x392d53(272,"i4SU")],n[_0x392d53(291,"kQig")]=.4,TILE_TEMPLATES[o]={children:[_0x55a3aa(RoundedRect,t,_k++),_0x55a3aa(Rect,e,_k++),_0x55a3aa(RoundedRect,_,_k++),_0x55a3aa(Rect,d,_k++),_0x55a3aa(Rect,n,_k++)]}}const TILE_KEYS=[];for(let o=0;o<9;o++)TILE_KEYS[_0x392d53(296,"CuGB")](_k++);const StaticBoardCanvas=_0x431140[_0x392d53(177,"w(Nk")](()=>{const o=_0x392d53,W={};W[o(189,"^hDJ")]=function(o,W){return o===W},W[o(200,"s&ba")]=o(166,"(ab*");const t=W,e=_0x2a4da7(1);let _;if(t[o(241,"L(kt")](e[0],Symbol[o(203,"(ab*")](t[o(230,"ib3%")]))){const W={};W[o(245,"$d9m")]=canvasStyles[o(149,"JJzm")],W[o(206,"L(kt")]=BOARD_ELEMENTS,_=_0x55a3aa(Canvas,W),e[0]=_}else _=e[0];return _});function _0x36b3(){const o=["WO0roIKN","j8oYm8kWucSxgG3dJG","WQaCBSokWOzJWR5kps7cSCoWoWldQmkkvq","W5jNhCk0fG","WQXpb18nWQWyW7W","WR8Hsmo2WRS","wYDBWOLFWQlcVJXyWRX4","iSoMW6BdNmkIsLldSq","sHRdSSkoWQ8","WRLcba","vmoSWPZdMZr+WQHCWPBcMaO","W6WsWRddULSzuG","W6FcQ8kBcmkG","mXzxFCoV","W4LbyM5YamkqASk7vf1tWOy","W5aJWQxcGuVcM8kvW73cSG","WQOEWRRdIf/dKmoY","qmk6WR0f","r8kMWQOzWP0","WOaaBSoAWOb3WQ5eodxcOmoa","W5xdMSkRBJq","imoPnSk7","ymoGkmk2jmks","WRvFdmodWQO","W5FcJuX5W4iVWOqOWPi","hd1tWRPC","W75sWOhcOXVdSCkpW7m","W6BcTNrhW6m","C8oJW4mOWPq","CSoFW5K9WQxdHmoxW48","W6Tdo8kLfG","W7rpnSk2fSop","W6Xflmk4cSosW7JdIa","jWnAFmoF","qYjpWP9V","kbn+WP19wH1ifqKo","WRHYfmohWPa","W5r6W6CxaSkHEs5w","tCoMgSkknMW","q8kNWQ8jWPP8W4VdU3JcI3ddMLu","WPGfjc4Nv8oD","pSodWORcRq","jmoVimk6","W4iiW4WDW60","zmkIlSoBvbtcNSkmW6m","W7zgymo0laW","WO3dTGhcPq","amkthSoC","csLnWR1CAYa","r8o8W7GDWQNdR8oQ","W5j9W6yngq","W7BcSgHkW7iv","BSo8sgxdPa","wrhcNrJdKmoO","AInGWPRdTSkBWRmoWOLXiCkz","W4PdB212aCkApmk6EMHmWPP5","ySoAwmoQiW","W7RdQxJdLtq","WRPeeeqj","bSoaW5NdSmkjz3JdJYaA","W5PSW4mOf8k5zcu","lCotWPFcSCoqW64","W7lcJ8kDhCkcnKq","W7xcN8kjdSksneq","W7bMmSo3WPZdH8kLWOZdGY7dR8kV","WR7cLqWFla","WPtdOq3cPmkEWRRcP8kVW6SZ","A8k+a8oaAHdcI8kfW7lcH8o0","e8oGoCkmewZcKW","W5aJWQxcGuVcM8khW6dcRr/cLG","CCogWQNdMGraWPv3","W4tdNmkHBHPga8orW6mM","WQ0PWPRdIG","W6ldSh3dGJxdO8kQ","xXVcHHldMCoW","aCofW5ZdSCkFBxRdGdOhwCoKsMaO","WPueymorWP0","WQdcTGGai8k7ySktW7z6WRG","CCoar8oT","W4xcKmoPpSk9","W5tcU8oOnri","lmozWPJcT8orW5/cPmkUjuzL","Bqf2WR5OWR7cIbTQWOLd","WRf7h8oTWQVdKW","W4XSbSoSWQ0","WOhdIMJdGsq","W5bSW5Ou","W7NcN8kgcmkpla","aCo/WRq4WRLgW7ddUG","xLjxgCoSWQb3W5S","yfTkWQVdU8o0jW","yCkXA8oVfh5eiW3dSLddHmkj","su92bmol","cZ5mWQbvCcbJ","WR9vWOBcU8o9WQFdOgRcPfa","WRPXgSoLWRe","rCotxSkngK9pWRWFvmohW5m","wcDtWPHe","DIL5WRxdT8ki","WOBdLN/dNq","WRSmW4RdTMRcP8otW4PGW69lWOlcQa","W5hcOv3dVmoBW67dTSkPW7CnW5hdMSoI","W4Pcz2P0aCkzE8klEwzFWO4","WPahyCokWO5PWPjalG","pCo1p8knvZu","W5icW4OQW4erW6hdOa","W7GCraHtW6KCW4hcNYOSBq","qHhcMbRdM8oO","WQ7cVauCja","v8obW40gWPe","WQ8eWQBdJM3dM8oVmSk9AW","W5nMW4uwaSk0","EmowWRddKq","W6jMlmolWQBdICk3WOu","qrpdVmksWQJcSYanWQ8TW4K","W4hdNmkJDs4","imozWOVcQmouW7a","nCo+DCkzmJlcJCkIW6VcGmoX","DYjFWQFdQW","Bmk4lCo8CXi","t8oSgSki","nCoVpmkQ","WO/dOW3cQCkeWQlcVW","mM3dJ1hdOq","tSoZfCkok3dcPW","W4hcR8oMkrq","y3Cu","W7tdUqBdPq","W6lcQ2LFW64","A0TrWR7dTSoU","WR0eWRG","qYSpWPyi","WQ8eWQBdJMNdISo/oCkW","WQ9cfuifWPOnW7FcRa40","W4FdN8kQBd1tb8oxW6e","W5ZcTCk5kG","W7XmzCo3","wKjromo9WQ93","xWhcMsJdKCo4W6KU","WPFdUGJcVSkf","wc/dQ8kWWQq","WQCEWQxdMf/dJa","W6FdVHddReX+","fmk2r8ouDtFcQNjjW6ldLeC","sb/dRSkrWRhcOdWxWQS4W5G","irr1vXhcSW","jCoGW7hdGCk+","WQNcUHOdoSkOFSkjW7jVWQK","tSo2aa","W4FdGZJdNxrEfConW4PAgbzjm8o5pW","W4CcW58AW4fEW7JdOmoAvSkAw8kveSo6W6CeWRldKIpcLhutkmkj","W64Draa","W6WlW5JdT8kyW7ldUvxcIwhdHeu","uCoeswldGq","WPxdJga","WQP+b8kfmmoxW7K","WOhdJh7dKrTeW6yjW4q","W7zmW5fJW7S","W5vSW54Cc8kS","dJvmWR9vzc1ioIe5","vmo+vw4","WPVdHMhdMG","WQLvWOhcOCoEWQFdU0JcUKhdGvmm","DYnJ","EsDsWPS","ySogWQxdVq","pSktamowsa5iWQi0sCog","hv/dIwRdJ0RcNq","zSoLW5ddGCkJs2O","bJLzWRS","eJz6qmozWPvAW4HAamoaWPjnomke","W6PWE8o3jG","W73cMCo/fSk4mv7dRSomW4NdTwJdQG","jtbMEra","WRmveG8A","WR7cUWGxoCk+smkHW7vXWQLB","WPqCWRJdJxO","aG5yC8o0","Bv5pl8oRWOjIW5ddI0ZdOa","iSopWPJdVqvjWRy","tXNdSCkoWQ8","W4VcS8ogma","zg0kWO7dVcu","WRRcVbSxdG","W4TyW4mCja","WRDpWOxcRCopWRddJ2lcOLa","wCoKvKldRWuMB8kX","W5miW4W","W6VcN8oYaCkJpe/dQ8obW5JdRW","FSoKlCkKkq","WRP2h8oMWQFdLxpcGG","WRCPWP7dI0eCumoj","zSowiCkPdW","wZikWOejemoI","B8k9lmoEsG","W71mzCo8nG","WOpdPGP7W4vJW7H/W5FcOam","W6ldVHRdO0XzlSoWW7f7kG","rI0EWOWe","BSozqSoRgG","fSkQc8oMqq","xXxdVmknWRG"];return(_0x36b3=function(){return o})()}StaticBoardCanvas[_0x392d53(175,"5RfM")]=_0x392d53(220,"K^5b");const TilesCanvas=_0x431140[_0x392d53(264,"KWyS")](()=>{const o="30ov",W=_0x392d53,t={mplqM:function(o,W){return o*W},jeDQa:function(o,W){return o+W},NMBeh:function(o,W,t,e){return o(W,t,e)},gStab:function(o,W){return o<=W}},e=useTilesVersion(),_=useRef(null);if(null===_[W(258,"iI8M")]){const e={};e.fontFamily=FONT_FAMILY,e[W(331,"UT#7")]=NUMBER_FONT_SIZE,e[W(328,"x!Xm")]=W(152,"ZZpM"),e[W(262,"^B#7")]=W(334,"3q3Q");const d=matchFont(e),n={};n[W(289,"M9Fz")]=FONT_FAMILY,n[W(247,"TEpC")]=WORD_FONT_SIZE,n[W(312,o)]=W(329,"s&ba"),n[W(148,"x!Xm")]=W(292,"vP*[");const a=matchFont(n),x={};for(let o=1;t[W(246,"TEpC")](o,8);o++){const t=o.toString(),e=NUMBER_WORDS[o]||"",_=d[W(295,"u!s^")](t)[W(346,"$d9m")],n=a[W(332,"5ou0")](e)[W(236,"3PyN")],r={};r[W(337,"^B#7")]=t,r[W(260,"g([2")]=e,r[W(154,"vP*[")]=_,r[W(172,"w(Nk")]=n,r[W(176,"O&vG")]=(TILE_SIZE-_)/2,r[W(199,"u!s^")]=(TILE_SIZE-n)/2,x[o]=r}const r={};r[W(201,o)]=d,r[W(244,"3jd9")]=a,r.tileData=x,_[W(280,"ib3%")]=r}const d=useMemo(()=>{const o=W,e=useSlidingNumbersStore[o(307,"9f5S")]().tiles,{numberFont:d,wordFont:n,tileData:a}=_[o(266,"5RfM")],x=[];for(let W=0;W<e[o(256,"G$xh")];W++){const _=e[W];if(0===_[o(205,"!u@)")])continue;const r=WELL_X+t[o(210,"^B#7")](_[o(170,"w(Nk")],CELL_STRIDE),s=t.jeDQa(WELL_Y,_.row*CELL_STRIDE),i=TILE_TEMPLATES[_.value],S=getTile3DColors(_[o(298,"FI]$")]),u=a[_[o(205,"!u@)")]],m={};m[o(284,"KWyS")]=r;const R={};R[o(219,"g([2")]=s;const f={};f.x=u[o(330,"n57(")],f.y=.52*TILE_SIZE,f[o(197,"ge!)")]=u[o(322,"g([2")],f[o(339,"g([2")]=d,f[o(231,"WbTC")]=S[o(198,"h$(N")];const k={};k.x=u[o(261,"(ab*")],k.y=.74*TILE_SIZE,k[o(181,"n57(")]=u[o(290,"(0OQ")],k.font=n,k[o(211,"ZZpM")]=S[o(157,"x!Xm")],k[o(209,"EaCY")]=.8,x.push(t[o(221,"j#sC")](_0x3094cc,Group,{transform:[m,R],children:[i.children,_0x55a3aa(_0x2213d0,f),_0x55a3aa(_0x2213d0,k)]},TILE_KEYS[_.id]))}return x},[e]),n={};return n.style=canvasStyles[W(212,"G9P@")],n[W(178,"30ov")]=W(338,"G$xh"),n.children=d,_0x55a3aa(Canvas,n)});TilesCanvas[_0x392d53(163,"u!s^")]=_0x392d53(194,"9f5S");export const NumbersGrid=_0x431140[_0x392d53(304,"s&ba")](({soundEnabledRef:o,hapticEnabledRef:W})=>{const t="5ou0",e="WbTC",_=_0x392d53,d={pxUNS:function(o,W,t){return o(W,t)},CqzOg:function(o,W,t,e){return o(W,t,e)},albMS:function(o,W){return o-W},fLfRl:_(341,"cSw)"),zFWzA:function(o,W){return o<W},tSrdb:function(o,W){return o<W},VfRLu:function(o,W){return o/W},HeDSX:function(o,W){return o+W},JQnNW:function(o,W){return o<W},kOqTO:function(o,W){return o>=W},otQvz:function(o,W,t){return o(W,t)},rWxWM:function(o,W,t){return o(W,t)},NZPco:function(o,W,t){return o(W,t)}},n=useRef(!1),a=useSharedValue(1);d[_(268,"s&ba")](useEffect,()=>{const o=_;if(o(283,"u!s^")===d[o(216,"5^U@")]){const W=[],_={x:0};_.y=_0xcfd541,_[o(303,"w(Nk")]=_0x214607,_.height=_0x4a075b,_.r=_0xe82f47?20:16,_.color=_0x425935[o(287,"u]oy")],W[o(317,"w(Nk")](_0x41ae11(_0x7e1d90,_,_0x1cb485++));const d={x:0,y:0};d[o(238,"M9Fz")]=_0xbb41e6,d[o(347,"7$0R")]=_0x5666b7,d.r=_0xc7fa76?20:16,d[o(196,t)]=_0x55aaf7[o(242,"$d9m")],W[o(235,"3PyN")](KPowJb[o(270,"O&vG")](_0x4d9a40,_0x3c1d0d,d,_0x49e0d8++)),W[o(345,"kq(d")](_0x167511(_0x24f982,{x:4,y:2,width:KPowJb[o(208,"G$xh")](_0x24cf2d,8),height:3,color:_0x18f99a[o(186,e)],opacity:.5},_0x5d6767++));const n=KPowJb[o(156,t)](_0x3c0e5c,4);W.push(_0x1110f9(_0x22c8eb,{x:n,y:n,width:_0x5aa875-KPowJb[o(251,e)](n,2),height:_0x325c17-2*n,r:_0x55b867?14:10,color:_0x1e1fdc[o(228,"n57(")]},_0x255046++));for(let t=0;t<_0x5066e7;t++)for(let e=0;e<_0x322fec;e++){const _=_0x277c58+e*_0x34173b,d=_0x1227a5+t*_0xb298a1,n={};n.x=_,n.y=d,n[o(315,"y!0m")]=_0x4d30e3,n[o(240,"!u@)")]=_0x4a1f18,n.r=_0x4289f8,n[o(313,"L(kt")]=_0x42bcb6[o(267,"TEpC")],W[o(265,"5^U@")](_0x2ce472(_0x511290,n,_0x3869c8++))}return W}{n[o(308,"7$0R")]=useSlidingNumbersStore[o(288,"n57(")]()[o(255,"s&ba")];const W=useSlidingNumbersStore.subscribe(o=>o.isPlaying,o=>{n.current=o}),t=useSlidingNumbersStore.subscribe(W=>W[o(285,"^B#7")],W=>{const t=o;W&&(a[t(218,"iI8M")]=withSequence(d[t(310,"9f5S")](withTiming,_0x46dbe0[t(165,"kq(d")],{duration:200,easing:Easing[t(164,"G$xh")](Easing[t(343,"FI]$")])}),withTiming(1,{duration:200,easing:Easing[t(336,"i4SU")](Easing.cubic)})))});return()=>{W(),t()}}},[a]);const x={};x[_(217,"5ou0")]=a[_(243,"5RfM")];const r=useAnimatedStyle(()=>({transform:[x]})),s=useRef((t,e)=>{const a=_;if(!n[a(234,"x!Xm")])return;const x=t-WELL_X,r=e-WELL_Y;if(d[a(297,"ge!)")](x,-HIT_MARGIN)||d[a(187,"ZZpM")](r,-HIT_MARGIN))return;const s=Math[a(294,"K^5b")](d.VfRLu(d[a(302,"UT#7")](x,HIT_MARGIN),CELL_STRIDE)),i=Math[a(226,"5ou0")](d[a(190,"iI8M")](r,HIT_MARGIN)/CELL_STRIDE);if(d.JQnNW(i,0)||d[a(169,"O&vG")](i,GRID_SIZE)||s<0||s>=GRID_SIZE)return;const S=useSlidingNumbersStore[a(278,"s&ba")]().tiles.find(o=>o.row===i&&o.col===s&&0!==o.value);S&&useSlidingNumbersStore[a(323,"(ab*")]()[a(207,"(0OQ")](S.id)&&(d.otQvz(playSound,GAME_SOUNDS[a(293,"4iOP")][a(151,"ib3%")],o[a(153,"9f5S")]),d.rWxWM(playHaptic,HapticType[a(223,"K^5b")],W[a(308,"7$0R")]))}),i=useMemo(()=>Gesture.Tap().onEnd(o=>{runOnJS(s[_(183,"cSw)")])(o.x,o.y)}),[]),S={};S.width=CANVAS_W,S.height=CANVAS_H;const u=useMemo(()=>[styles[_(202,"O&vG")],S,r],[r]);return _0x55a3aa(GestureDetector,{gesture:i,children:_0x3094cc(_0x377f26[_(180,"y!0m")],{style:u,children:[d[_(192,"(0OQ")](_0x55a3aa,StaticBoardCanvas,{}),_0x55a3aa(TilesCanvas,{})]})})});const _0x189b5d={};_0x189b5d[_0x392d53(225,"4iOP")]=_0x392d53(222,"JJzm"),_0x189b5d[_0x392d53(348,"x!Xm")]=0,_0x189b5d[_0x392d53(185,"5RfM")]=0,_0x189b5d[_0x392d53(276,"JJzm")]=CANVAS_W,_0x189b5d.height=CANVAS_H;const _0x9215f3={};_0x9215f3[_0x392d53(250,"j#sC")]=_0x392d53(311,"5RfM"),_0x9215f3[_0x392d53(227,"JJzm")]=0,_0x9215f3.left=0,_0x9215f3[_0x392d53(275,"kQig")]=CANVAS_W,_0x9215f3[_0x392d53(263,"ZZpM")]=CANVAS_H;const _0x192722={};_0x192722[_0x392d53(299,"3q3Q")]=_0x189b5d,_0x192722[_0x392d53(224,"y!0m")]=_0x9215f3;const canvasStyles=StyleSheet[_0x392d53(158,"kq(d")](_0x192722),_0x172fe9={};_0x172fe9[_0x392d53(173,"7Bvm")]=0,_0x172fe9[_0x392d53(305,"ib3%")]=6;const _0x50d408={};_0x50d408.shadowColor=_0x392d53(167,"JJzm"),_0x50d408[_0x392d53(191,"u!s^")]=_0x172fe9,_0x50d408[_0x392d53(257,"3PyN")]=.35,_0x50d408[_0x392d53(237,"K^5b")]=12;const _0x3bb45b={};_0x3bb45b[_0x392d53(150,"M9Fz")]=12;const _0x2628fc={alignSelf:_0x392d53(279,"3q3Q"),...Platform.OS===_0x392d53(344,"h$(N")?_0x50d408:_0x3bb45b},_0xf9b853={};function _0x410a(o,W){o-=147;const t=_0x36b3();let e=t[o];if(void 0===_0x410a.XduaIU){const o=function(o,W){let t,e,_=[],d=0,n="";for(o=function(o){let W="",t="";for(let t,e,_=0,d=0;e=o.charAt(d++);~e&&(t=_%4?64*t+e:e,_++%4)?W+=String.fromCharCode(255&t>>(-2*_&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let o=0,e=W.length;o<e;o++)t+="%"+("00"+W.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(t)}(o),e=0;e<256;e++)_[e]=e;for(e=0;e<256;e++)d=(d+_[e]+W.charCodeAt(e%W.length))%256,t=_[e],_[e]=_[d],_[d]=t;e=0,d=0;for(let W=0;W<o.length;W++)e=(e+1)%256,d=(d+_[e])%256,t=_[e],_[e]=_[d],_[d]=t,n+=String.fromCharCode(o.charCodeAt(W)^_[(_[e]+_[d])%256]);return n};_0x410a.ERApzF=o,_0x410a.ihsMGH={},_0x410a.XduaIU=!0}const _=t[0];_0x410a.AbOKkK!==_&&(_0x410a.ihsMGH={},_0x410a.AbOKkK=_);const d=_0x410a.ihsMGH[o];return void 0===d?(void 0===_0x410a.cNPhaT&&(_0x410a.cNPhaT=!0),e=_0x410a.ERApzF(e,W),_0x410a.ihsMGH[o]=e):e=d,e}_0xf9b853[_0x392d53(321,"K^5b")]=_0x2628fc;const styles=StyleSheet[_0x392d53(269,"$d9m")](_0xf9b853);NumbersGrid[_0x392d53(160,"5ou0")]=_0x392d53(182,"5^U@");