cubing 0.22.0 → 0.24.0-pre2

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 (1061) hide show
  1. package/README.md +5 -8
  2. package/alg/package.json +1 -3
  3. package/bluetooth/package.json +1 -3
  4. package/dist/esm/{2x2x2.kpuzzle.json-JOGUSQ4N.js → 2x2x2.kpuzzle.json-U5KOZCMU.js} +11 -11
  5. package/dist/esm/2x2x2.kpuzzle.json-U5KOZCMU.js.map +7 -0
  6. package/{src/cubing/search/inside/solve/puzzles/2x2x2.sgs.json.ts → dist/esm/2x2x2.sgs.json-UAYPCQVL.js} +21 -13
  7. package/dist/esm/2x2x2.sgs.json-UAYPCQVL.js.map +7 -0
  8. package/dist/esm/{3d-3WQVOHX5.js → 3d-NFF7OGTI.js} +4 -4
  9. package/dist/esm/{3d-3WQVOHX5.js.map → 3d-NFF7OGTI.js.map} +0 -0
  10. package/dist/esm/bluetooth/index.d.ts +1 -1
  11. package/dist/esm/bluetooth/index.js +46 -38
  12. package/dist/esm/bluetooth/index.js.map +3 -3
  13. package/dist/esm/chunk-27KJGD3S.js +84 -0
  14. package/dist/esm/chunk-27KJGD3S.js.map +7 -0
  15. package/dist/esm/chunk-37EHU3GZ.js +66 -0
  16. package/dist/esm/chunk-37EHU3GZ.js.map +7 -0
  17. package/dist/esm/chunk-7OPCF2OL.js +274 -0
  18. package/dist/esm/chunk-7OPCF2OL.js.map +7 -0
  19. package/dist/esm/chunk-BJIOROQC.js +18 -0
  20. package/dist/esm/chunk-BJIOROQC.js.map +7 -0
  21. package/dist/{bin/puzzle-geometry-bin.js → esm/chunk-J2U2GRS4.js} +104 -1488
  22. package/dist/esm/chunk-J2U2GRS4.js.map +7 -0
  23. package/dist/esm/chunk-KCRFOAR4.js +122 -0
  24. package/dist/esm/chunk-KCRFOAR4.js.map +7 -0
  25. package/{src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts → dist/esm/chunk-NPK6Z4AU.js} +22 -17
  26. package/dist/esm/chunk-NPK6Z4AU.js.map +7 -0
  27. package/dist/esm/chunk-NV5ESXTN.js +505 -0
  28. package/dist/esm/chunk-NV5ESXTN.js.map +7 -0
  29. package/dist/esm/{chunk-DLN5QS4V.js → chunk-REMJV2GO.js} +38 -51
  30. package/dist/esm/chunk-REMJV2GO.js.map +7 -0
  31. package/dist/esm/chunk-TB4D4E2W.js +226 -0
  32. package/dist/esm/chunk-TB4D4E2W.js.map +7 -0
  33. package/dist/esm/chunk-TNRZDNGH.js +822 -0
  34. package/dist/esm/chunk-TNRZDNGH.js.map +7 -0
  35. package/{src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts → dist/esm/chunk-YN7E5RGM.js} +36 -24
  36. package/dist/esm/chunk-YN7E5RGM.js.map +7 -0
  37. package/dist/esm/{chunk-HXKINJ7U.js → chunk-ZLIK3DZT.js} +79 -57
  38. package/dist/esm/chunk-ZLIK3DZT.js.map +7 -0
  39. package/dist/esm/{clock.kpuzzle.json-EKWRMHJM.js → clock.kpuzzle.json-J3YBOI3G.js} +7 -45
  40. package/dist/esm/clock.kpuzzle.json-J3YBOI3G.js.map +7 -0
  41. package/dist/esm/entry-PHAJAE4E.js +536 -0
  42. package/dist/esm/entry-PHAJAE4E.js.map +7 -0
  43. package/dist/esm/esm-test-worker.js +3 -14
  44. package/dist/esm/esm-test-worker.js.map +3 -3
  45. package/dist/esm/fto.sgs.json-VO6HST2V.js +641 -0
  46. package/dist/esm/fto.sgs.json-VO6HST2V.js.map +7 -0
  47. package/{src/cubing/search/inside/solve/vendor/min2phase/gwt.js → dist/esm/gwt-B7CBESZR.js} +350 -1380
  48. package/dist/esm/gwt-B7CBESZR.js.map +7 -0
  49. package/dist/esm/kpuzzle/index.js +5 -35
  50. package/dist/esm/megaminx.sgs.json-R3MK4HXM.js +16 -0
  51. package/dist/esm/megaminx.sgs.json-R3MK4HXM.js.map +7 -0
  52. package/dist/esm/module-entry-UYTOFYBC.js +18 -0
  53. package/dist/esm/module-entry-UYTOFYBC.js.map +7 -0
  54. package/dist/esm/{node-BSAQKO3G.js → node-SP4L2AKI.js} +2 -2
  55. package/dist/esm/{node-BSAQKO3G.js.map → node-SP4L2AKI.js.map} +1 -1
  56. package/dist/esm/{node-WEHVBEKP.js → node-W3AD4HBK.js} +3 -2
  57. package/dist/esm/node-W3AD4HBK.js.map +7 -0
  58. package/dist/esm/protocol/index.js +2 -1
  59. package/dist/esm/puzzle-geometry/index.js +15 -4053
  60. package/dist/esm/puzzle-geometry/index.js.map +3 -3
  61. package/dist/esm/puzzles/index.js +4 -4
  62. package/dist/esm/pyraminx.sgs.json-R3J3JHMV.js +14 -0
  63. package/dist/esm/pyraminx.sgs.json-R3J3JHMV.js.map +7 -0
  64. package/dist/esm/scramble/index.js +5 -3
  65. package/{src/cubing/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.ts → dist/esm/scramble_444-F3YANDPO.js} +367 -586
  66. package/dist/esm/scramble_444-F3YANDPO.js.map +7 -0
  67. package/{src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js → dist/esm/scramble_sq1-PQ2AYBFW.js} +143 -290
  68. package/dist/esm/scramble_sq1-PQ2AYBFW.js.map +7 -0
  69. package/dist/esm/search/index.js +7 -4
  70. package/dist/esm/skewb.sgs.json-T6CO36WU.js +16 -0
  71. package/dist/esm/skewb.sgs.json-T6CO36WU.js.map +7 -0
  72. package/dist/esm/{sq1-hyperorbit.kpuzzle.json-N3FGCPML.js → sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js} +6 -6
  73. package/dist/esm/sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js.map +7 -0
  74. package/dist/esm/twisty/index.js +342 -231
  75. package/dist/esm/twisty/index.js.map +3 -3
  76. package/dist/esm/worker-inside-generated-string-6YDSDSRJ.js +3447 -0
  77. package/dist/esm/worker-inside-generated-string-6YDSDSRJ.js.map +7 -0
  78. package/dist/{esm → types}/.DS_Store +0 -0
  79. package/dist/types/alg/Alg.d.ts +0 -1
  80. package/dist/types/alg/Alg.spec.d.ts +0 -1
  81. package/dist/types/alg/AlgBuilder.d.ts +0 -1
  82. package/dist/types/alg/Serializable.d.ts +0 -1
  83. package/dist/types/alg/common.d.ts +0 -1
  84. package/dist/types/alg/debug.d.ts +0 -1
  85. package/dist/types/alg/example.d.ts +0 -1
  86. package/dist/types/alg/index.d.ts +0 -1
  87. package/dist/types/alg/is.d.ts +0 -1
  88. package/dist/types/alg/iteration.d.ts +0 -1
  89. package/dist/types/alg/keyboard.d.ts +0 -1
  90. package/dist/types/alg/limits.d.ts +0 -1
  91. package/dist/types/alg/operation.d.ts +0 -1
  92. package/dist/types/alg/operation.spec.d.ts +0 -1
  93. package/dist/types/alg/parse.d.ts +0 -1
  94. package/dist/types/alg/parse.spec.d.ts +0 -1
  95. package/dist/types/alg/test/alg-comparison.d.ts +0 -1
  96. package/dist/types/alg/test/alg.spec.d.ts +0 -1
  97. package/dist/types/alg/traversal.d.ts +0 -1
  98. package/dist/types/alg/units/QuantumWithAmount.d.ts +0 -1
  99. package/dist/types/alg/units/Unit.d.ts +0 -1
  100. package/dist/types/alg/units/containers/Commutator.d.ts +0 -1
  101. package/dist/types/alg/units/containers/Conjugate.d.ts +0 -1
  102. package/dist/types/alg/units/containers/Grouping.d.ts +0 -1
  103. package/dist/types/alg/units/index.d.ts +0 -1
  104. package/dist/types/alg/units/leaves/LineComment.d.ts +0 -1
  105. package/dist/types/alg/units/leaves/LineComment.spec.d.ts +0 -1
  106. package/dist/types/alg/units/leaves/Move.d.ts +0 -1
  107. package/dist/types/alg/units/leaves/Move.spec.d.ts +0 -1
  108. package/dist/types/alg/units/leaves/Newline.d.ts +0 -1
  109. package/dist/types/alg/units/leaves/Pause.d.ts +0 -1
  110. package/dist/types/alg/url.d.ts +0 -1
  111. package/dist/types/alg/url.spec.d.ts +0 -1
  112. package/dist/types/alg/validation.d.ts +0 -1
  113. package/dist/types/alg/warnOnce.d.ts +0 -1
  114. package/dist/types/bluetooth/connect/index.d.ts +0 -1
  115. package/dist/types/bluetooth/debug.d.ts +0 -1
  116. package/dist/types/bluetooth/index.d.ts +0 -1
  117. package/dist/types/bluetooth/keyboard.d.ts +5 -5
  118. package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts +3 -3
  119. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +3 -5
  120. package/dist/types/bluetooth/smart-puzzle/connect.d.ts +0 -1
  121. package/dist/types/bluetooth/smart-puzzle/endianness.d.ts +0 -1
  122. package/dist/types/bluetooth/smart-puzzle/gan.d.ts +5 -4
  123. package/dist/types/bluetooth/smart-puzzle/giiker.d.ts +3 -3
  124. package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts +0 -1
  125. package/dist/types/bluetooth/smart-puzzle/gocube.d.ts +0 -1
  126. package/dist/types/bluetooth/smart-robot/GanRobot.d.ts +0 -1
  127. package/dist/types/bluetooth/smart-robot/index.d.ts +0 -1
  128. package/dist/types/bluetooth/smart-timer/GanTimer.d.ts +0 -1
  129. package/dist/types/bluetooth/smart-timer/index.d.ts +0 -1
  130. package/dist/types/bluetooth/transformer.d.ts +0 -1
  131. package/dist/types/cubing.bundle-global.d.ts +0 -1
  132. package/{src/cubing/cubing.bundle-global.ts → dist/types/cubing.bundle-global.exports.d.ts} +12 -19
  133. package/dist/types/esm-test-worker.d.ts +0 -1
  134. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts +2 -3
  135. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +0 -1
  136. package/dist/types/kpuzzle/3x3x3/puzzle-orientation.d.ts +4 -0
  137. package/dist/types/kpuzzle/KPuzzle.d.ts +25 -0
  138. package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +20 -0
  139. package/dist/types/kpuzzle/KState.d.ts +16 -0
  140. package/dist/types/kpuzzle/KTransformation.d.ts +20 -0
  141. package/dist/types/kpuzzle/calculate.d.ts +16 -0
  142. package/dist/types/kpuzzle/combine.d.ts +3 -0
  143. package/dist/types/kpuzzle/construct.d.ts +5 -0
  144. package/dist/types/kpuzzle/index.d.ts +6 -10
  145. package/dist/types/notation/CountAnimatedLeaves.d.ts +0 -1
  146. package/dist/types/notation/CountMoves.d.ts +0 -1
  147. package/dist/types/notation/index.d.ts +0 -1
  148. package/dist/types/protocol/binary/binary3x3x3.d.ts +5 -6
  149. package/dist/types/protocol/binary/binary3x3x3.spec.d.ts +0 -1
  150. package/dist/types/protocol/binary/hex.d.ts +0 -1
  151. package/dist/types/protocol/binary/hex.spec.d.ts +0 -1
  152. package/dist/types/protocol/binary/orbit-indexing.d.ts +0 -1
  153. package/dist/types/protocol/binary/orbit-indexing.spec.d.ts +0 -1
  154. package/dist/types/protocol/binary/puzzle-orientation.d.ts +4 -5
  155. package/dist/types/protocol/index.d.ts +0 -1
  156. package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts +0 -1
  157. package/dist/types/puzzle-geometry/Options.d.ts +0 -1
  158. package/dist/types/puzzle-geometry/PGPuzzles.d.ts +0 -1
  159. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +0 -1
  160. package/dist/types/puzzle-geometry/Perm.d.ts +0 -1
  161. package/dist/types/puzzle-geometry/PermOriSet.d.ts +4 -5
  162. package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts +0 -1
  163. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +11 -5
  164. package/dist/types/puzzle-geometry/Quat.d.ts +0 -1
  165. package/dist/types/puzzle-geometry/Quat.spec.d.ts +0 -1
  166. package/dist/types/puzzle-geometry/SchreierSims.d.ts +0 -1
  167. package/dist/types/puzzle-geometry/index.d.ts +2 -2
  168. package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts +0 -1
  169. package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts +0 -1
  170. package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts +0 -1
  171. package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts +3 -2
  172. package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts +0 -1
  173. package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts +0 -1
  174. package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts +0 -1
  175. package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts +0 -1
  176. package/dist/types/puzzle-geometry/notation-mapping/index.d.ts +0 -1
  177. package/dist/types/puzzle-geometry/orientcenters.spec.d.ts +0 -1
  178. package/dist/types/puzzles/PuzzleLoader.d.ts +3 -3
  179. package/dist/types/puzzles/async/async-pg3d.d.ts +3 -3
  180. package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +2 -0
  181. package/dist/types/puzzles/customPGPuzzleLoader.d.ts +2 -3
  182. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts +1 -2
  183. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts +0 -1
  184. package/dist/types/puzzles/implementations/2x2x2/index.d.ts +0 -1
  185. package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts +0 -1
  186. package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts +0 -1
  187. package/dist/types/puzzles/implementations/3x3x3/index.d.ts +0 -1
  188. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts +1 -2
  189. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts +0 -1
  190. package/dist/types/puzzles/implementations/clock/index.d.ts +0 -1
  191. package/dist/types/puzzles/implementations/fto/index.d.ts +0 -1
  192. package/dist/types/puzzles/implementations/megaminx/index.d.ts +0 -1
  193. package/dist/types/puzzles/implementations/pyraminx/index.d.ts +0 -1
  194. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts +0 -1
  195. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts +0 -1
  196. package/dist/types/puzzles/implementations/square1/index.d.ts +0 -1
  197. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts +1 -2
  198. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts +0 -1
  199. package/dist/types/puzzles/index.d.ts +1 -2
  200. package/dist/types/puzzles/stickerings/appearance.d.ts +6 -7
  201. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts +0 -1
  202. package/dist/types/puzzles/stickerings/fto-stickerings.d.ts +0 -1
  203. package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts +0 -1
  204. package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts +0 -1
  205. package/dist/types/scramble/index.d.ts +0 -1
  206. package/dist/types/search/esm-test-worker.d.ts +0 -1
  207. package/dist/types/search/index.d.ts +0 -1
  208. package/dist/types/search/inside/api.d.ts +6 -7
  209. package/dist/types/search/inside/api.spec.d.ts +0 -1
  210. package/dist/types/search/inside/entry.d.ts +0 -1
  211. package/dist/types/search/inside/inside-worker.d.ts +0 -1
  212. package/dist/types/search/inside/module-entry-path-getter.d.ts +1 -0
  213. package/dist/types/search/inside/module-entry.d.ts +1 -0
  214. package/dist/types/search/inside/solve/addOrientationSuffix.d.ts +0 -1
  215. package/dist/types/search/inside/solve/parseSGS.d.ts +3 -4
  216. package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts +3 -4
  217. package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts +0 -1
  218. package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts +2 -3
  219. package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts +4 -4
  220. package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts +3 -4
  221. package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts +0 -1
  222. package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts +0 -1
  223. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +2 -2
  224. package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts +0 -1
  225. package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts +0 -1
  226. package/dist/types/search/inside/solve/puzzles/clock.d.ts +0 -1
  227. package/dist/types/search/inside/solve/puzzles/fto.d.ts +5 -0
  228. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +2 -0
  229. package/dist/types/search/inside/solve/puzzles/megaminx.d.ts +2 -3
  230. package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts +2 -3
  231. package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts +3 -4
  232. package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts +0 -1
  233. package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts +0 -1
  234. package/dist/types/search/inside/solve/puzzles/skewb.d.ts +3 -4
  235. package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts +2 -3
  236. package/dist/types/search/inside/solve/puzzles/sq1.d.ts +0 -1
  237. package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts +0 -1
  238. package/dist/types/search/inside/solve/tremble.d.ts +6 -6
  239. package/dist/types/search/instantiator.d.ts +1 -3
  240. package/dist/types/search/outside.d.ts +6 -7
  241. package/dist/types/search/worker-inside-generated-string.d.ts +1 -2
  242. package/dist/types/stream/index.d.ts +0 -1
  243. package/dist/types/stream/process/ReorientedStream.d.ts +1 -3
  244. package/dist/types/stream/proxy-event.d.ts +0 -1
  245. package/dist/types/stream/twizzle/TwizzleStream.d.ts +0 -1
  246. package/dist/types/stream/twizzle/stream-types.d.ts +0 -1
  247. package/dist/types/stream/websocket-proxy.d.ts +0 -1
  248. package/dist/types/twisty/controllers/AnimationTypes.d.ts +2 -3
  249. package/dist/types/twisty/controllers/RenderScheduler.d.ts +0 -1
  250. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +0 -1
  251. package/dist/types/twisty/controllers/TwistyPlayerController.d.ts +0 -1
  252. package/dist/types/twisty/controllers/easing.d.ts +0 -1
  253. package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts +0 -1
  254. package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts +6 -6
  255. package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts +7 -7
  256. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +8 -8
  257. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +9 -9
  258. package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts +0 -1
  259. package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts +36 -37
  260. package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts +7 -7
  261. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts +0 -1
  262. package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts +0 -1
  263. package/dist/types/twisty/heavy-code-imports/3d.d.ts +0 -1
  264. package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts +0 -1
  265. package/dist/types/twisty/index.d.ts +1 -2
  266. package/dist/types/twisty/model/PromiseFreshener.d.ts +0 -1
  267. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +6 -7
  268. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts +0 -1
  269. package/dist/types/twisty/model/helpers.d.ts +0 -1
  270. package/dist/types/twisty/model/props/TwistyProp.d.ts +0 -1
  271. package/dist/types/twisty/model/props/TwistyProp.spec.d.ts +0 -1
  272. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +0 -1
  273. package/dist/types/twisty/model/props/general/URLProp.d.ts +0 -1
  274. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +0 -1
  275. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +0 -1
  276. package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts +0 -1
  277. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +2 -1
  278. package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts +0 -1
  279. package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +5 -8
  280. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +5 -7
  281. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts +0 -1
  282. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +0 -1
  283. package/dist/types/twisty/model/props/puzzle/state/{CurrentLeavesProp.d.ts → CurrentMoveInfoProp.d.ts} +2 -3
  284. package/dist/types/twisty/model/props/puzzle/state/CurrentStateProp.d.ts +14 -0
  285. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +7 -8
  286. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +0 -1
  287. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +5 -6
  288. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +2 -3
  289. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +6 -2
  290. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +0 -1
  291. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +4 -5
  292. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +0 -1
  293. package/dist/types/twisty/model/props/puzzle/structure/KPuzzleProp.d.ts +10 -0
  294. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +0 -1
  295. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +0 -1
  296. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +0 -1
  297. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +0 -1
  298. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +0 -1
  299. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +0 -1
  300. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +0 -1
  301. package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts +0 -1
  302. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +0 -1
  303. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +0 -1
  304. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +0 -1
  305. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +0 -1
  306. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +0 -1
  307. package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts +0 -1
  308. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +0 -1
  309. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +0 -1
  310. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +2 -3
  311. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +0 -1
  312. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +0 -1
  313. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +0 -1
  314. package/dist/types/twisty/views/2D/KPuzzleSVGWrapper.d.ts +17 -0
  315. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts +0 -1
  316. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +4 -4
  317. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +0 -1
  318. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +0 -1
  319. package/dist/types/twisty/views/3D/DragTracker.d.ts +0 -1
  320. package/dist/types/twisty/views/3D/RendererPool.d.ts +0 -1
  321. package/dist/types/twisty/views/3D/TAU.d.ts +0 -1
  322. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +0 -1
  323. package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts +0 -1
  324. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +0 -1
  325. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +0 -1
  326. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts +0 -1
  327. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +0 -1
  328. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +0 -1
  329. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts +0 -1
  330. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts +4 -5
  331. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +5 -6
  332. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +0 -1
  333. package/dist/types/twisty/views/ClassListManager.d.ts +0 -1
  334. package/dist/types/twisty/views/ManagedCustomElement.d.ts +0 -1
  335. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +0 -1
  336. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +0 -1
  337. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +0 -1
  338. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +0 -1
  339. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +0 -1
  340. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +0 -1
  341. package/dist/types/twisty/views/TwistyAlgViewer.d.ts +0 -1
  342. package/dist/types/twisty/views/TwistyPlayer.css.d.ts +0 -1
  343. package/dist/types/twisty/views/TwistyPlayer.d.ts +0 -1
  344. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +0 -1
  345. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts +0 -1
  346. package/dist/types/twisty/views/canvas.d.ts +0 -1
  347. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts +0 -1
  348. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +0 -1
  349. package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts +0 -1
  350. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +0 -1
  351. package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts +0 -1
  352. package/dist/types/twisty/views/document.d.ts +0 -1
  353. package/dist/types/twisty/views/node-custom-element-shims.d.ts +0 -1
  354. package/dist/types/twisty/views/screenshot.d.ts +0 -1
  355. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts +0 -1
  356. package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts +0 -1
  357. package/{src/cubing/search → dist/types}/vendor/comlink-everywhere/inside/index.d.ts +0 -0
  358. package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/node.d.ts +0 -1
  359. package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -1
  360. package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/node.d.ts +0 -1
  361. package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.d.ts +0 -1
  362. package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.d.ts +1 -2
  363. package/dist/types/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -1
  364. package/dist/types/vendor/p-lazy/p-lazy.d.ts +0 -1
  365. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/get-random-values.d.ts +0 -1
  366. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/index.d.ts +1 -2
  367. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.d.ts +0 -1
  368. package/dist/types/{search/inside/solve/vendor/random-uint-below/random-int.d.ts → vendor/random-uint-below/random53BitValue.d.ts} +0 -1
  369. package/dist/types/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.d.ts +0 -1
  370. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +0 -1
  371. package/dist/types/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.d.ts +0 -1
  372. package/kpuzzle/package.json +1 -3
  373. package/notation/package.json +1 -3
  374. package/package.json +11 -17
  375. package/protocol/package.json +1 -3
  376. package/puzzle-geometry/package.json +1 -3
  377. package/puzzles/package.json +1 -3
  378. package/scramble/package.json +1 -3
  379. package/search/package.json +1 -3
  380. package/stream/package.json +1 -3
  381. package/twisty/package.json +1 -3
  382. package/alg/index.d.ts +0 -1
  383. package/bluetooth/index.d.ts +0 -1
  384. package/dist/.DS_Store +0 -0
  385. package/dist/bin/puzzle-geometry-bin.js.map +0 -7
  386. package/dist/bundle-global/cubing.bundle-global.js +0 -7419
  387. package/dist/esm/2x2x2.kpuzzle.json-JOGUSQ4N.js.map +0 -7
  388. package/dist/esm/chunk-7KI3I3Y7.js +0 -1379
  389. package/dist/esm/chunk-7KI3I3Y7.js.map +0 -7
  390. package/dist/esm/chunk-DLN5QS4V.js.map +0 -7
  391. package/dist/esm/chunk-HXKINJ7U.js.map +0 -7
  392. package/dist/esm/chunk-X6JHXPDX.js +0 -2359
  393. package/dist/esm/chunk-X6JHXPDX.js.map +0 -7
  394. package/dist/esm/clock.kpuzzle.json-EKWRMHJM.js.map +0 -7
  395. package/dist/esm/index.d.ts +0 -1
  396. package/dist/esm/node-WEHVBEKP.js.map +0 -7
  397. package/dist/esm/sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map +0 -7
  398. package/dist/esm/worker-inside-generated-string-ZA6E6672.js +0 -2831
  399. package/dist/esm/worker-inside-generated-string-ZA6E6672.js.map +0 -7
  400. package/dist/types/alg/Alg.d.ts.map +0 -1
  401. package/dist/types/alg/Alg.spec.d.ts.map +0 -1
  402. package/dist/types/alg/AlgBuilder.d.ts.map +0 -1
  403. package/dist/types/alg/Serializable.d.ts.map +0 -1
  404. package/dist/types/alg/common.d.ts.map +0 -1
  405. package/dist/types/alg/debug.d.ts.map +0 -1
  406. package/dist/types/alg/example.d.ts.map +0 -1
  407. package/dist/types/alg/index.d.ts.map +0 -1
  408. package/dist/types/alg/is.d.ts.map +0 -1
  409. package/dist/types/alg/iteration.d.ts.map +0 -1
  410. package/dist/types/alg/keyboard.d.ts.map +0 -1
  411. package/dist/types/alg/limits.d.ts.map +0 -1
  412. package/dist/types/alg/operation.d.ts.map +0 -1
  413. package/dist/types/alg/operation.spec.d.ts.map +0 -1
  414. package/dist/types/alg/parse.d.ts.map +0 -1
  415. package/dist/types/alg/parse.spec.d.ts.map +0 -1
  416. package/dist/types/alg/test/alg-comparison.d.ts.map +0 -1
  417. package/dist/types/alg/test/alg.spec.d.ts.map +0 -1
  418. package/dist/types/alg/traversal.d.ts.map +0 -1
  419. package/dist/types/alg/units/QuantumWithAmount.d.ts.map +0 -1
  420. package/dist/types/alg/units/Unit.d.ts.map +0 -1
  421. package/dist/types/alg/units/containers/Commutator.d.ts.map +0 -1
  422. package/dist/types/alg/units/containers/Conjugate.d.ts.map +0 -1
  423. package/dist/types/alg/units/containers/Grouping.d.ts.map +0 -1
  424. package/dist/types/alg/units/index.d.ts.map +0 -1
  425. package/dist/types/alg/units/leaves/LineComment.d.ts.map +0 -1
  426. package/dist/types/alg/units/leaves/LineComment.spec.d.ts.map +0 -1
  427. package/dist/types/alg/units/leaves/Move.d.ts.map +0 -1
  428. package/dist/types/alg/units/leaves/Move.spec.d.ts.map +0 -1
  429. package/dist/types/alg/units/leaves/Newline.d.ts.map +0 -1
  430. package/dist/types/alg/units/leaves/Pause.d.ts.map +0 -1
  431. package/dist/types/alg/url.d.ts.map +0 -1
  432. package/dist/types/alg/url.spec.d.ts.map +0 -1
  433. package/dist/types/alg/validation.d.ts.map +0 -1
  434. package/dist/types/alg/warnOnce.d.ts.map +0 -1
  435. package/dist/types/bluetooth/connect/index.d.ts.map +0 -1
  436. package/dist/types/bluetooth/debug.d.ts.map +0 -1
  437. package/dist/types/bluetooth/index.d.ts.map +0 -1
  438. package/dist/types/bluetooth/keyboard.d.ts.map +0 -1
  439. package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts.map +0 -1
  440. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +0 -1
  441. package/dist/types/bluetooth/smart-puzzle/connect.d.ts.map +0 -1
  442. package/dist/types/bluetooth/smart-puzzle/endianness.d.ts.map +0 -1
  443. package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +0 -1
  444. package/dist/types/bluetooth/smart-puzzle/giiker.d.ts.map +0 -1
  445. package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts.map +0 -1
  446. package/dist/types/bluetooth/smart-puzzle/gocube.d.ts.map +0 -1
  447. package/dist/types/bluetooth/smart-puzzle/unsafe-raw-aes.d.ts.map +0 -1
  448. package/dist/types/bluetooth/smart-robot/GanRobot.d.ts.map +0 -1
  449. package/dist/types/bluetooth/smart-robot/index.d.ts.map +0 -1
  450. package/dist/types/bluetooth/smart-timer/GanTimer.d.ts.map +0 -1
  451. package/dist/types/bluetooth/smart-timer/index.d.ts.map +0 -1
  452. package/dist/types/bluetooth/transformer.d.ts.map +0 -1
  453. package/dist/types/cubing.bundle-global.d.ts.map +0 -1
  454. package/dist/types/esm-test-worker.d.ts.map +0 -1
  455. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts.map +0 -1
  456. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +0 -1
  457. package/dist/types/kpuzzle/canon.spec.d.ts +0 -2
  458. package/dist/types/kpuzzle/canon.spec.d.ts.map +0 -1
  459. package/dist/types/kpuzzle/canonicalize.d.ts +0 -55
  460. package/dist/types/kpuzzle/canonicalize.d.ts.map +0 -1
  461. package/dist/types/kpuzzle/definition_types.d.ts +0 -19
  462. package/dist/types/kpuzzle/definition_types.d.ts.map +0 -1
  463. package/dist/types/kpuzzle/index.d.ts.map +0 -1
  464. package/dist/types/kpuzzle/kpuzzle.d.ts +0 -17
  465. package/dist/types/kpuzzle/kpuzzle.d.ts.map +0 -1
  466. package/dist/types/kpuzzle/kpuzzle.spec.d.ts +0 -2
  467. package/dist/types/kpuzzle/kpuzzle.spec.d.ts.map +0 -1
  468. package/dist/types/kpuzzle/move_notation.d.ts +0 -6
  469. package/dist/types/kpuzzle/move_notation.d.ts.map +0 -1
  470. package/dist/types/kpuzzle/parser/index.d.ts +0 -2
  471. package/dist/types/kpuzzle/parser/index.d.ts.map +0 -1
  472. package/dist/types/kpuzzle/parser/parser-peggy.d.ts +0 -15
  473. package/dist/types/kpuzzle/parser/parser-peggy.d.ts.map +0 -1
  474. package/dist/types/kpuzzle/parser/parser-shim.d.ts +0 -4
  475. package/dist/types/kpuzzle/parser/parser-shim.d.ts.map +0 -1
  476. package/dist/types/kpuzzle/parser/parser.d.ts +0 -1
  477. package/dist/types/kpuzzle/parser/parser.d.ts.map +0 -1
  478. package/dist/types/kpuzzle/prunetable.spec.d.ts +0 -2
  479. package/dist/types/kpuzzle/prunetable.spec.d.ts.map +0 -1
  480. package/dist/types/kpuzzle/pruningtable.d.ts +0 -16
  481. package/dist/types/kpuzzle/pruningtable.d.ts.map +0 -1
  482. package/dist/types/kpuzzle/puzzle-orientation.d.ts +0 -5
  483. package/dist/types/kpuzzle/puzzle-orientation.d.ts.map +0 -1
  484. package/dist/types/kpuzzle/svg.d.ts +0 -18
  485. package/dist/types/kpuzzle/svg.d.ts.map +0 -1
  486. package/dist/types/kpuzzle/transformations.d.ts +0 -13
  487. package/dist/types/kpuzzle/transformations.d.ts.map +0 -1
  488. package/dist/types/kpuzzle/transformations.spec.d.ts +0 -2
  489. package/dist/types/kpuzzle/transformations.spec.d.ts.map +0 -1
  490. package/dist/types/notation/CountAnimatedLeaves.d.ts.map +0 -1
  491. package/dist/types/notation/CountMoves.d.ts.map +0 -1
  492. package/dist/types/notation/index.d.ts.map +0 -1
  493. package/dist/types/protocol/binary/binary3x3x3.d.ts.map +0 -1
  494. package/dist/types/protocol/binary/binary3x3x3.spec.d.ts.map +0 -1
  495. package/dist/types/protocol/binary/hex.d.ts.map +0 -1
  496. package/dist/types/protocol/binary/hex.spec.d.ts.map +0 -1
  497. package/dist/types/protocol/binary/orbit-indexing.d.ts.map +0 -1
  498. package/dist/types/protocol/binary/orbit-indexing.spec.d.ts.map +0 -1
  499. package/dist/types/protocol/binary/puzzle-orientation.d.ts.map +0 -1
  500. package/dist/types/protocol/index.d.ts.map +0 -1
  501. package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts.map +0 -1
  502. package/dist/types/puzzle-geometry/Options.d.ts.map +0 -1
  503. package/dist/types/puzzle-geometry/PGPuzzles.d.ts.map +0 -1
  504. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +0 -1
  505. package/dist/types/puzzle-geometry/Perm.d.ts.map +0 -1
  506. package/dist/types/puzzle-geometry/PermOriSet.d.ts.map +0 -1
  507. package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts.map +0 -1
  508. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +0 -1
  509. package/dist/types/puzzle-geometry/Quat.d.ts.map +0 -1
  510. package/dist/types/puzzle-geometry/Quat.spec.d.ts.map +0 -1
  511. package/dist/types/puzzle-geometry/SchreierSims.d.ts.map +0 -1
  512. package/dist/types/puzzle-geometry/index.d.ts.map +0 -1
  513. package/dist/types/puzzle-geometry/interfaces.d.ts +0 -6
  514. package/dist/types/puzzle-geometry/interfaces.d.ts.map +0 -1
  515. package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts.map +0 -1
  516. package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts.map +0 -1
  517. package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts.map +0 -1
  518. package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts.map +0 -1
  519. package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts.map +0 -1
  520. package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts.map +0 -1
  521. package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts.map +0 -1
  522. package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts.map +0 -1
  523. package/dist/types/puzzle-geometry/notation-mapping/index.d.ts.map +0 -1
  524. package/dist/types/puzzle-geometry/orientcenters.spec.d.ts.map +0 -1
  525. package/dist/types/puzzles/PuzzleLoader.d.ts.map +0 -1
  526. package/dist/types/puzzles/async/async-pg3d.d.ts.map +0 -1
  527. package/dist/types/puzzles/customPGPuzzleLoader.d.ts.map +0 -1
  528. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts.map +0 -1
  529. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts.map +0 -1
  530. package/dist/types/puzzles/implementations/2x2x2/index.d.ts.map +0 -1
  531. package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts.map +0 -1
  532. package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts.map +0 -1
  533. package/dist/types/puzzles/implementations/3x3x3/index.d.ts.map +0 -1
  534. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts.map +0 -1
  535. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts.map +0 -1
  536. package/dist/types/puzzles/implementations/clock/index.d.ts.map +0 -1
  537. package/dist/types/puzzles/implementations/fto/index.d.ts.map +0 -1
  538. package/dist/types/puzzles/implementations/megaminx/index.d.ts.map +0 -1
  539. package/dist/types/puzzles/implementations/pyraminx/index.d.ts.map +0 -1
  540. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts.map +0 -1
  541. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts.map +0 -1
  542. package/dist/types/puzzles/implementations/square1/index.d.ts.map +0 -1
  543. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts.map +0 -1
  544. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts.map +0 -1
  545. package/dist/types/puzzles/index.d.ts.map +0 -1
  546. package/dist/types/puzzles/stickerings/appearance.d.ts.map +0 -1
  547. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +0 -1
  548. package/dist/types/puzzles/stickerings/fto-stickerings.d.ts.map +0 -1
  549. package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts.map +0 -1
  550. package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts.map +0 -1
  551. package/dist/types/scramble/index.d.ts.map +0 -1
  552. package/dist/types/search/esm-test-worker.d.ts.map +0 -1
  553. package/dist/types/search/index.d.ts.map +0 -1
  554. package/dist/types/search/inside/api.d.ts.map +0 -1
  555. package/dist/types/search/inside/api.spec.d.ts.map +0 -1
  556. package/dist/types/search/inside/entry.d.ts.map +0 -1
  557. package/dist/types/search/inside/inside-worker.d.ts.map +0 -1
  558. package/dist/types/search/inside/solve/addOrientationSuffix.d.ts.map +0 -1
  559. package/dist/types/search/inside/solve/parseSGS.d.ts.map +0 -1
  560. package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts.map +0 -1
  561. package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts.map +0 -1
  562. package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts.map +0 -1
  563. package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +0 -1
  564. package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +0 -1
  565. package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts.map +0 -1
  566. package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts.map +0 -1
  567. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +0 -1
  568. package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts.map +0 -1
  569. package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts.map +0 -1
  570. package/dist/types/search/inside/solve/puzzles/clock.d.ts.map +0 -1
  571. package/dist/types/search/inside/solve/puzzles/megaminx.d.ts.map +0 -1
  572. package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts.map +0 -1
  573. package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts.map +0 -1
  574. package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts.map +0 -1
  575. package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts.map +0 -1
  576. package/dist/types/search/inside/solve/puzzles/skewb.d.ts.map +0 -1
  577. package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts.map +0 -1
  578. package/dist/types/search/inside/solve/puzzles/sq1.d.ts.map +0 -1
  579. package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts.map +0 -1
  580. package/dist/types/search/inside/solve/tremble.d.ts.map +0 -1
  581. package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
  582. package/dist/types/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
  583. package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts.map +0 -1
  584. package/dist/types/search/inside/solve/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
  585. package/dist/types/search/inside/solve/vendor/random-uint-below/index.d.ts.map +0 -1
  586. package/dist/types/search/inside/solve/vendor/random-uint-below/random-choice.d.ts.map +0 -1
  587. package/dist/types/search/inside/solve/vendor/random-uint-below/random-int.d.ts.map +0 -1
  588. package/dist/types/search/inside/solve/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
  589. package/dist/types/search/instantiator.d.ts.map +0 -1
  590. package/dist/types/search/outside.d.ts.map +0 -1
  591. package/dist/types/search/vendor/comlink-everywhere/inside/index.d.ts +0 -2
  592. package/dist/types/search/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
  593. package/dist/types/search/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
  594. package/dist/types/search/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
  595. package/dist/types/search/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
  596. package/dist/types/search/worker-inside-generated-string.d.ts.map +0 -1
  597. package/dist/types/stream/index.d.ts.map +0 -1
  598. package/dist/types/stream/process/ReorientedStream.d.ts.map +0 -1
  599. package/dist/types/stream/proxy-event.d.ts.map +0 -1
  600. package/dist/types/stream/twizzle/TwizzleStream.d.ts.map +0 -1
  601. package/dist/types/stream/twizzle/stream-types.d.ts.map +0 -1
  602. package/dist/types/stream/websocket-proxy.d.ts.map +0 -1
  603. package/dist/types/twisty/controllers/AnimationTypes.d.ts.map +0 -1
  604. package/dist/types/twisty/controllers/RenderScheduler.d.ts.map +0 -1
  605. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +0 -1
  606. package/dist/types/twisty/controllers/TwistyPlayerController.d.ts.map +0 -1
  607. package/dist/types/twisty/controllers/easing.d.ts.map +0 -1
  608. package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts.map +0 -1
  609. package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts.map +0 -1
  610. package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +0 -1
  611. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
  612. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +0 -1
  613. package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
  614. package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +0 -1
  615. package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
  616. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +0 -1
  617. package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +0 -1
  618. package/dist/types/twisty/heavy-code-imports/3d.d.ts.map +0 -1
  619. package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +0 -1
  620. package/dist/types/twisty/index.d.ts.map +0 -1
  621. package/dist/types/twisty/model/PromiseFreshener.d.ts.map +0 -1
  622. package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +0 -1
  623. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts.map +0 -1
  624. package/dist/types/twisty/model/helpers.d.ts.map +0 -1
  625. package/dist/types/twisty/model/props/TwistyProp.d.ts.map +0 -1
  626. package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +0 -1
  627. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +0 -1
  628. package/dist/types/twisty/model/props/general/URLProp.d.ts.map +0 -1
  629. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +0 -1
  630. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +0 -1
  631. package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +0 -1
  632. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +0 -1
  633. package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +0 -1
  634. package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +0 -1
  635. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +0 -1
  636. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts.map +0 -1
  637. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +0 -1
  638. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +0 -1
  639. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +0 -15
  640. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +0 -1
  641. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +0 -1
  642. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +0 -1
  643. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +0 -1
  644. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +0 -1
  645. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +0 -1
  646. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +0 -1
  647. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +0 -1
  648. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +0 -1
  649. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +0 -11
  650. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +0 -1
  651. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +0 -1
  652. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +0 -1
  653. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +0 -1
  654. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +0 -1
  655. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +0 -1
  656. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +0 -1
  657. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +0 -1
  658. package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +0 -1
  659. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +0 -1
  660. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +0 -1
  661. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +0 -1
  662. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +0 -1
  663. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +0 -1
  664. package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +0 -1
  665. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +0 -1
  666. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +0 -1
  667. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +0 -1
  668. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +0 -1
  669. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +0 -1
  670. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +0 -1
  671. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +0 -1
  672. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +0 -1
  673. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +0 -1
  674. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +0 -1
  675. package/dist/types/twisty/views/3D/DragTracker.d.ts.map +0 -1
  676. package/dist/types/twisty/views/3D/RendererPool.d.ts.map +0 -1
  677. package/dist/types/twisty/views/3D/TAU.d.ts.map +0 -1
  678. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +0 -1
  679. package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +0 -1
  680. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts.map +0 -1
  681. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +0 -1
  682. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts.map +0 -1
  683. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +0 -1
  684. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts.map +0 -1
  685. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +0 -1
  686. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +0 -1
  687. package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts +0 -48
  688. package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts.map +0 -1
  689. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +0 -1
  690. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +0 -1
  691. package/dist/types/twisty/views/ClassListManager.d.ts.map +0 -1
  692. package/dist/types/twisty/views/ManagedCustomElement.d.ts.map +0 -1
  693. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +0 -1
  694. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +0 -1
  695. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +0 -1
  696. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +0 -1
  697. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +0 -1
  698. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +0 -1
  699. package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +0 -1
  700. package/dist/types/twisty/views/TwistyPlayer.css.d.ts.map +0 -1
  701. package/dist/types/twisty/views/TwistyPlayer.d.ts.map +0 -1
  702. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +0 -1
  703. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts.map +0 -1
  704. package/dist/types/twisty/views/canvas.d.ts.map +0 -1
  705. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts.map +0 -1
  706. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +0 -1
  707. package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts.map +0 -1
  708. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +0 -1
  709. package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts.map +0 -1
  710. package/dist/types/twisty/views/document.d.ts.map +0 -1
  711. package/dist/types/twisty/views/node-custom-element-shims.d.ts.map +0 -1
  712. package/dist/types/twisty/views/screenshot.d.ts.map +0 -1
  713. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts.map +0 -1
  714. package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts.map +0 -1
  715. package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +0 -1
  716. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +0 -1
  717. package/docs/.DS_Store +0 -0
  718. package/docs/CNAME +0 -1
  719. package/docs/cubing/.DS_Store +0 -0
  720. package/docs/cubing/alg/index.html +0 -174
  721. package/docs/cubing/api/index.html +0 -158
  722. package/docs/cubing/index.html +0 -151
  723. package/docs/cubing/scramble/index.html +0 -138
  724. package/docs/cubing/twisty/index.html +0 -329
  725. package/docs/favicon.ico +0 -0
  726. package/docs/index.html +0 -20
  727. package/docs/main.css +0 -192
  728. package/kpuzzle/index.d.ts +0 -1
  729. package/notation/index.d.ts +0 -1
  730. package/protocol/index.d.ts +0 -1
  731. package/puzzle-geometry/index.d.ts +0 -1
  732. package/puzzles/index.d.ts +0 -1
  733. package/scramble/index.d.ts +0 -1
  734. package/search/index.d.ts +0 -1
  735. package/src/cubing/.DS_Store +0 -0
  736. package/src/cubing/alg/Alg.spec.ts +0 -10
  737. package/src/cubing/alg/Alg.ts +0 -290
  738. package/src/cubing/alg/AlgBuilder.ts +0 -33
  739. package/src/cubing/alg/Serializable.ts +0 -29
  740. package/src/cubing/alg/common.ts +0 -59
  741. package/src/cubing/alg/debug.ts +0 -27
  742. package/src/cubing/alg/example.ts +0 -152
  743. package/src/cubing/alg/index.ts +0 -21
  744. package/src/cubing/alg/is.ts +0 -38
  745. package/src/cubing/alg/iteration.ts +0 -45
  746. package/src/cubing/alg/keyboard.ts +0 -48
  747. package/src/cubing/alg/limits.ts +0 -4
  748. package/src/cubing/alg/operation.spec.ts +0 -48
  749. package/src/cubing/alg/operation.ts +0 -36
  750. package/src/cubing/alg/parse.spec.ts +0 -75
  751. package/src/cubing/alg/parse.ts +0 -408
  752. package/src/cubing/alg/test/alg-comparison.ts +0 -23
  753. package/src/cubing/alg/test/alg.spec.ts +0 -348
  754. package/src/cubing/alg/traversal.ts +0 -284
  755. package/src/cubing/alg/units/QuantumWithAmount.ts +0 -55
  756. package/src/cubing/alg/units/Unit.ts +0 -11
  757. package/src/cubing/alg/units/containers/Commutator.ts +0 -85
  758. package/src/cubing/alg/units/containers/Conjugate.ts +0 -53
  759. package/src/cubing/alg/units/containers/Grouping.ts +0 -116
  760. package/src/cubing/alg/units/index.ts +0 -8
  761. package/src/cubing/alg/units/leaves/LineComment.spec.ts +0 -35
  762. package/src/cubing/alg/units/leaves/LineComment.ts +0 -48
  763. package/src/cubing/alg/units/leaves/Move.spec.ts +0 -15
  764. package/src/cubing/alg/units/leaves/Move.ts +0 -265
  765. package/src/cubing/alg/units/leaves/Newline.ts +0 -24
  766. package/src/cubing/alg/units/leaves/Pause.ts +0 -24
  767. package/src/cubing/alg/url.spec.ts +0 -10
  768. package/src/cubing/alg/url.ts +0 -133
  769. package/src/cubing/alg/validation.ts +0 -62
  770. package/src/cubing/alg/warnOnce.ts +0 -7
  771. package/src/cubing/bluetooth/connect/index.ts +0 -93
  772. package/src/cubing/bluetooth/debug.ts +0 -18
  773. package/src/cubing/bluetooth/docs/gan-robot.md +0 -60
  774. package/src/cubing/bluetooth/docs/gan356i.md +0 -309
  775. package/src/cubing/bluetooth/index.ts +0 -19
  776. package/src/cubing/bluetooth/keyboard.ts +0 -55
  777. package/src/cubing/bluetooth/smart-puzzle/Heykube.ts +0 -165
  778. package/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.ts +0 -95
  779. package/src/cubing/bluetooth/smart-puzzle/connect.ts +0 -19
  780. package/src/cubing/bluetooth/smart-puzzle/endianness.ts +0 -15
  781. package/src/cubing/bluetooth/smart-puzzle/gan.ts +0 -481
  782. package/src/cubing/bluetooth/smart-puzzle/giiker.spec.ts +0 -28
  783. package/src/cubing/bluetooth/smart-puzzle/giiker.ts +0 -277
  784. package/src/cubing/bluetooth/smart-puzzle/gocube.ts +0 -167
  785. package/src/cubing/bluetooth/smart-puzzle/unsafe-raw-aes.ts +0 -66
  786. package/src/cubing/bluetooth/smart-robot/GanRobot.ts +0 -311
  787. package/src/cubing/bluetooth/smart-robot/index.ts +0 -13
  788. package/src/cubing/bluetooth/smart-timer/GanTimer.ts +0 -141
  789. package/src/cubing/bluetooth/smart-timer/index.ts +0 -13
  790. package/src/cubing/bluetooth/transformer.ts +0 -74
  791. package/src/cubing/esm-test-worker.js +0 -5
  792. package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.ts +0 -40
  793. package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts +0 -339
  794. package/src/cubing/kpuzzle/canon.spec.ts +0 -48
  795. package/src/cubing/kpuzzle/canonicalize.ts +0 -325
  796. package/src/cubing/kpuzzle/definition_types.ts +0 -23
  797. package/src/cubing/kpuzzle/index.ts +0 -33
  798. package/src/cubing/kpuzzle/kpuzzle.spec.ts +0 -12
  799. package/src/cubing/kpuzzle/kpuzzle.ts +0 -124
  800. package/src/cubing/kpuzzle/move_notation.ts +0 -9
  801. package/src/cubing/kpuzzle/parser/index.ts +0 -1
  802. package/src/cubing/kpuzzle/parser/parser-peggy.js +0 -1221
  803. package/src/cubing/kpuzzle/parser/parser-peggy.peggy +0 -72
  804. package/src/cubing/kpuzzle/parser/parser-shim.ts +0 -11
  805. package/src/cubing/kpuzzle/parser/parser.js +0 -0
  806. package/src/cubing/kpuzzle/prunetable.spec.ts +0 -19
  807. package/src/cubing/kpuzzle/pruningtable.ts +0 -99
  808. package/src/cubing/kpuzzle/puzzle-orientation.ts +0 -34
  809. package/src/cubing/kpuzzle/svg.ts +0 -290
  810. package/src/cubing/kpuzzle/transformations.spec.ts +0 -75
  811. package/src/cubing/kpuzzle/transformations.ts +0 -258
  812. package/src/cubing/notation/CountAnimatedLeaves.ts +0 -56
  813. package/src/cubing/notation/CountMoves.ts +0 -89
  814. package/src/cubing/notation/index.ts +0 -4
  815. package/src/cubing/protocol/binary/binary3x3x3.spec.ts +0 -143
  816. package/src/cubing/protocol/binary/binary3x3x3.ts +0 -226
  817. package/src/cubing/protocol/binary/hex.spec.ts +0 -17
  818. package/src/cubing/protocol/binary/hex.ts +0 -12
  819. package/src/cubing/protocol/binary/orbit-indexing.spec.ts +0 -49
  820. package/src/cubing/protocol/binary/orbit-indexing.ts +0 -68
  821. package/src/cubing/protocol/binary/puzzle-orientation.ts +0 -69
  822. package/src/cubing/protocol/index.ts +0 -12
  823. package/src/cubing/puzzle-geometry/FaceNameSwizzler.ts +0 -148
  824. package/src/cubing/puzzle-geometry/Options.ts +0 -179
  825. package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +0 -127
  826. package/src/cubing/puzzle-geometry/PGPuzzles.ts +0 -80
  827. package/src/cubing/puzzle-geometry/Perm.ts +0 -154
  828. package/src/cubing/puzzle-geometry/PermOriSet.ts +0 -765
  829. package/src/cubing/puzzle-geometry/PlatonicGenerator.ts +0 -146
  830. package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +0 -3009
  831. package/src/cubing/puzzle-geometry/Quat.spec.ts +0 -10
  832. package/src/cubing/puzzle-geometry/Quat.ts +0 -325
  833. package/src/cubing/puzzle-geometry/SchreierSims.ts +0 -144
  834. package/src/cubing/puzzle-geometry/index.ts +0 -17
  835. package/src/cubing/puzzle-geometry/interfaces.ts +0 -6
  836. package/src/cubing/puzzle-geometry/notation-mapping/FTONotationMapper.ts +0 -38
  837. package/src/cubing/puzzle-geometry/notation-mapping/FaceRenamingMapper.ts +0 -59
  838. package/src/cubing/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.ts +0 -50
  839. package/src/cubing/puzzle-geometry/notation-mapping/NotationMapper.ts +0 -6
  840. package/src/cubing/puzzle-geometry/notation-mapping/NullMapper.ts +0 -12
  841. package/src/cubing/puzzle-geometry/notation-mapping/NxNxNCubeMapper.ts +0 -77
  842. package/src/cubing/puzzle-geometry/notation-mapping/PyraminxNotationMapper.ts +0 -121
  843. package/src/cubing/puzzle-geometry/notation-mapping/SkewbNotationMapper.ts +0 -103
  844. package/src/cubing/puzzle-geometry/notation-mapping/index.ts +0 -13
  845. package/src/cubing/puzzle-geometry/orientcenters.spec.ts +0 -55
  846. package/src/cubing/puzzles/PuzzleLoader.ts +0 -20
  847. package/src/cubing/puzzles/async/async-pg3d.ts +0 -73
  848. package/src/cubing/puzzles/customPGPuzzleLoader.ts +0 -60
  849. package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.ts +0 -92
  850. package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.ts +0 -45
  851. package/src/cubing/puzzles/implementations/2x2x2/index.ts +0 -25
  852. package/src/cubing/puzzles/implementations/2x2x2/svg/2x2x2.kpuzzle.svg +0 -45
  853. package/src/cubing/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.ts +0 -108
  854. package/src/cubing/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.ts +0 -128
  855. package/src/cubing/puzzles/implementations/3x3x3/index.ts +0 -33
  856. package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3-ll.kpuzzle.svg +0 -108
  857. package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3.kpuzzle.svg +0 -128
  858. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.original.svg +0 -128
  859. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.outlined.svg +0 -486
  860. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.spaced.svg +0 -128
  861. package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.json.ts +0 -241
  862. package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.svg.ts +0 -369
  863. package/src/cubing/puzzles/implementations/clock/index.ts +0 -14
  864. package/src/cubing/puzzles/implementations/clock/src/clock.kpuzzle.svg +0 -369
  865. package/src/cubing/puzzles/implementations/fto/index.ts +0 -28
  866. package/src/cubing/puzzles/implementations/megaminx/index.ts +0 -20
  867. package/src/cubing/puzzles/implementations/pyraminx/index.ts +0 -18
  868. package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.ts +0 -84
  869. package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.ts +0 -88
  870. package/src/cubing/puzzles/implementations/pyraminx/src/pyraminx.kpuzzle.svg +0 -87
  871. package/src/cubing/puzzles/implementations/square1/index.ts +0 -14
  872. package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.ts +0 -62
  873. package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.ts +0 -295
  874. package/src/cubing/puzzles/implementations/square1/src/sq1-hyperorbit.kpuzzle.svg +0 -295
  875. package/src/cubing/puzzles/implementations/square1/src/sq1-simple.svg +0 -60
  876. package/src/cubing/puzzles/index.ts +0 -92
  877. package/src/cubing/puzzles/stickerings/appearance.ts +0 -292
  878. package/src/cubing/puzzles/stickerings/cube-stickerings.ts +0 -286
  879. package/src/cubing/puzzles/stickerings/fto-stickerings.ts +0 -105
  880. package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +0 -61
  881. package/src/cubing/puzzles/stickerings/megaminx-stickerings.ts +0 -26
  882. package/src/cubing/scramble/index.ts +0 -1
  883. package/src/cubing/search/.gitignore +0 -1
  884. package/src/cubing/search/esm-test-worker.js +0 -14
  885. package/src/cubing/search/index.ts +0 -12
  886. package/src/cubing/search/inside/api.spec.ts +0 -37
  887. package/src/cubing/search/inside/api.ts +0 -171
  888. package/src/cubing/search/inside/entry.js +0 -4
  889. package/src/cubing/search/inside/inside-worker.ts +0 -13
  890. package/src/cubing/search/inside/solve/addOrientationSuffix.ts +0 -17
  891. package/src/cubing/search/inside/solve/parseSGS.ts +0 -119
  892. package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +0 -92
  893. package/src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts +0 -137
  894. package/src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts +0 -60
  895. package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +0 -57
  896. package/src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts +0 -291
  897. package/src/cubing/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.ts +0 -272
  898. package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +0 -16
  899. package/src/cubing/search/inside/solve/puzzles/5x5x5.ts +0 -12
  900. package/src/cubing/search/inside/solve/puzzles/FTO.sgs +0 -264
  901. package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +0 -78
  902. package/src/cubing/search/inside/solve/puzzles/clock.ts +0 -48
  903. package/src/cubing/search/inside/solve/puzzles/megaminx.ts +0 -51
  904. package/src/cubing/search/inside/solve/puzzles/pyraminx.ts +0 -48
  905. package/src/cubing/search/inside/solve/puzzles/sgs-defs.spec.ts +0 -27
  906. package/src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts +0 -113
  907. package/src/cubing/search/inside/solve/puzzles/skewb.ts +0 -65
  908. package/src/cubing/search/inside/solve/puzzles/sq1.ts +0 -6
  909. package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +0 -32
  910. package/src/cubing/search/inside/solve/tremble.ts +0 -212
  911. package/src/cubing/search/inside/solve/vendor/cstimer/LICENSE +0 -674
  912. package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.ts +0 -54
  913. package/src/cubing/search/inside/solve/vendor/min2phase/gwt.d.ts +0 -2
  914. package/src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts +0 -38
  915. package/src/cubing/search/inside/solve/vendor/random-uint-below/index.ts +0 -12
  916. package/src/cubing/search/inside/solve/vendor/random-uint-below/random-choice.ts +0 -9
  917. package/src/cubing/search/inside/solve/vendor/random-uint-below/random-int.ts +0 -64
  918. package/src/cubing/search/instantiator.ts +0 -60
  919. package/src/cubing/search/outside.ts +0 -110
  920. package/src/cubing/search/vendor/comlink-everywhere/comlink-everywhere.webloc +0 -8
  921. package/src/cubing/search/vendor/comlink-everywhere/inside/index.js +0 -16
  922. package/src/cubing/search/vendor/comlink-everywhere/inside/node.js +0 -6
  923. package/src/cubing/search/vendor/comlink-everywhere/outside/index.d.ts +0 -6
  924. package/src/cubing/search/vendor/comlink-everywhere/outside/index.js +0 -31
  925. package/src/cubing/search/vendor/comlink-everywhere/outside/node.js +0 -41
  926. package/src/cubing/search/worker-inside-generated-string.js +0 -1
  927. package/src/cubing/stream/index.ts +0 -12
  928. package/src/cubing/stream/process/ReorientedStream.ts +0 -93
  929. package/src/cubing/stream/proxy-event.ts +0 -16
  930. package/src/cubing/stream/twizzle/TwizzleStream.ts +0 -53
  931. package/src/cubing/stream/twizzle/stream-types.ts +0 -45
  932. package/src/cubing/stream/websocket-proxy.ts +0 -73
  933. package/src/cubing/twisty/.DS_Store +0 -0
  934. package/src/cubing/twisty/controllers/.DS_Store +0 -0
  935. package/src/cubing/twisty/controllers/AnimationTypes.ts +0 -50
  936. package/src/cubing/twisty/controllers/RenderScheduler.ts +0 -28
  937. package/src/cubing/twisty/controllers/TwistyAnimationController.ts +0 -325
  938. package/src/cubing/twisty/controllers/TwistyPlayerController.ts +0 -38
  939. package/src/cubing/twisty/controllers/animation/.DS_Store +0 -0
  940. package/src/cubing/twisty/controllers/easing.ts +0 -3
  941. package/src/cubing/twisty/controllers/indexer/.DS_Store +0 -0
  942. package/src/cubing/twisty/controllers/indexer/AlgDuration.ts +0 -94
  943. package/src/cubing/twisty/controllers/indexer/AlgIndexer.ts +0 -87
  944. package/src/cubing/twisty/controllers/indexer/SimpleAlgIndexer.ts +0 -76
  945. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +0 -181
  946. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +0 -243
  947. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/simul-moves.ts +0 -193
  948. package/src/cubing/twisty/controllers/indexer/tree/AlgWalker.ts +0 -439
  949. package/src/cubing/twisty/controllers/indexer/tree/TreeAlgIndexer.ts +0 -97
  950. package/src/cubing/twisty/controllers/indexer/tree/chunkAlgs.ts +0 -81
  951. package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -59
  952. package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.ts +0 -162
  953. package/src/cubing/twisty/heavy-code-imports/.DS_Store +0 -0
  954. package/src/cubing/twisty/heavy-code-imports/3d.ts +0 -18
  955. package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +0 -31
  956. package/src/cubing/twisty/index.ts +0 -24
  957. package/src/cubing/twisty/model/.DS_Store +0 -0
  958. package/src/cubing/twisty/model/PromiseFreshener.ts +0 -49
  959. package/src/cubing/twisty/model/TwistyPlayerModel.ts +0 -254
  960. package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +0 -22
  961. package/src/cubing/twisty/model/helpers.ts +0 -47
  962. package/src/cubing/twisty/model/props/.DS_Store +0 -0
  963. package/src/cubing/twisty/model/props/TwistyProp.spec.ts +0 -38
  964. package/src/cubing/twisty/model/props/TwistyProp.ts +0 -366
  965. package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +0 -370
  966. package/src/cubing/twisty/model/props/general/URLProp.ts +0 -14
  967. package/src/cubing/twisty/model/props/puzzle/.DS_Store +0 -0
  968. package/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.ts +0 -9
  969. package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +0 -15
  970. package/src/cubing/twisty/model/props/puzzle/display/SpriteProp.ts +0 -43
  971. package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +0 -54
  972. package/src/cubing/twisty/model/props/puzzle/state/AlgProp.ts +0 -91
  973. package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +0 -28
  974. package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +0 -44
  975. package/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.ts +0 -17
  976. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +0 -109
  977. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +0 -48
  978. package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +0 -46
  979. package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +0 -53
  980. package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.ts +0 -15
  981. package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +0 -24
  982. package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +0 -22
  983. package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +0 -9
  984. package/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.ts +0 -20
  985. package/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts +0 -28
  986. package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +0 -14
  987. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDefProp.ts +0 -14
  988. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.ts +0 -14
  989. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +0 -12
  990. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +0 -36
  991. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +0 -38
  992. package/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.ts +0 -45
  993. package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +0 -78
  994. package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +0 -48
  995. package/src/cubing/twisty/model/props/timeline/TempoScaleProp.ts +0 -13
  996. package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +0 -38
  997. package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +0 -16
  998. package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +0 -15
  999. package/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.ts +0 -86
  1000. package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +0 -14
  1001. package/src/cubing/twisty/model/props/viewer/LatitudeLimit.ts +0 -11
  1002. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +0 -127
  1003. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +0 -69
  1004. package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +0 -15
  1005. package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +0 -14
  1006. package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +0 -17
  1007. package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +0 -45
  1008. package/src/cubing/twisty/old/.DS_Store +0 -0
  1009. package/src/cubing/twisty/old/animation/.DS_Store +0 -0
  1010. package/src/cubing/twisty/old/dom/.DS_Store +0 -0
  1011. package/src/cubing/twisty/views/.DS_Store +0 -0
  1012. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.css.ts +0 -26
  1013. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +0 -146
  1014. package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +0 -52
  1015. package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +0 -77
  1016. package/src/cubing/twisty/views/3D/.DS_Store +0 -0
  1017. package/src/cubing/twisty/views/3D/DragTracker.ts +0 -184
  1018. package/src/cubing/twisty/views/3D/RendererPool.ts +0 -54
  1019. package/src/cubing/twisty/views/3D/TAU.ts +0 -2
  1020. package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +0 -214
  1021. package/src/cubing/twisty/views/3D/Twisty3DRenderTarget.ts +0 -5
  1022. package/src/cubing/twisty/views/3D/Twisty3DScene.ts +0 -42
  1023. package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +0 -189
  1024. package/src/cubing/twisty/views/3D/Twisty3DVantage.css.ts +0 -32
  1025. package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +0 -312
  1026. package/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.ts +0 -213
  1027. package/src/cubing/twisty/views/3D/TwistyOrbitControls.ts +0 -176
  1028. package/src/cubing/twisty/views/3D/puzzles/Cube3D.ts +0 -966
  1029. package/src/cubing/twisty/views/3D/puzzles/KPuzzleWrapper.ts +0 -142
  1030. package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +0 -1078
  1031. package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +0 -6
  1032. package/src/cubing/twisty/views/ClassListManager.ts +0 -34
  1033. package/src/cubing/twisty/views/ManagedCustomElement.ts +0 -76
  1034. package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +0 -116
  1035. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.ts +0 -72
  1036. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.ts +0 -57
  1037. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +0 -368
  1038. package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +0 -179
  1039. package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +0 -25
  1040. package/src/cubing/twisty/views/TwistyAlgViewer.ts +0 -502
  1041. package/src/cubing/twisty/views/TwistyPlayer.css.ts +0 -73
  1042. package/src/cubing/twisty/views/TwistyPlayer.ts +0 -362
  1043. package/src/cubing/twisty/views/TwistyPlayerSettable.ts +0 -115
  1044. package/src/cubing/twisty/views/TwistyViewerWrapper.css.ts +0 -41
  1045. package/src/cubing/twisty/views/canvas.ts +0 -9
  1046. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.css.ts +0 -127
  1047. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +0 -156
  1048. package/src/cubing/twisty/views/control-panel/TwistyScrubber.css.ts +0 -48
  1049. package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +0 -145
  1050. package/src/cubing/twisty/views/control-panel/webkit-fullscreen.ts +0 -44
  1051. package/src/cubing/twisty/views/document.ts +0 -4
  1052. package/src/cubing/twisty/views/node-custom-element-shims.ts +0 -30
  1053. package/src/cubing/twisty/views/screenshot.ts +0 -90
  1054. package/src/cubing/twisty/views/stream/TwistyStreamSource.css.ts +0 -17
  1055. package/src/cubing/twisty/views/stream/TwistyStreamSource.ts +0 -155
  1056. package/src/cubing/vendor/p-lazy/license +0 -9
  1057. package/src/cubing/vendor/p-lazy/p-lazy.ts +0 -52
  1058. package/src/cubing/vendor/p-lazy/readme.md +0 -54
  1059. package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +0 -179
  1060. package/stream/index.d.ts +0 -1
  1061. package/twisty/index.d.ts +0 -1
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts", "../../src/cubing/search/inside/solve/vendor/random-uint-below/random-int.ts", "../../src/cubing/search/inside/solve/vendor/random-uint-below/random-choice.ts", "../../src/cubing/search/inside/solve/vendor/random-uint-below/index.ts", "../../src/cubing/search/inside/solve/puzzles/clock.ts", "../../src/cubing/search/inside/solve/puzzles/wca-minx.ts", "../../src/cubing/search/vendor/comlink-everywhere/outside/index.js", "../../src/cubing/search/instantiator.ts", "../../src/cubing/search/outside.ts", "../../src/cubing/search/inside/solve/vendor/min2phase/gwt.js", "../../src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/index.ts"],
4
- "sourcesContent": ["export type GetRandomValuesFunction = (arr: Uint32Array) => void;\n\n// This is a workaround for a `node` segfault.\n// In theory, imports are cached and safe to import multiple times: https://nodejs.org/api/esm.html#esm_urls\n// In practice, a rapid series of inline imports inside a worker causes a segfault(!) in `node`.\n// So we cach a single import reference. We avoid populating it until we first need it, so that we don't attempt to perform the import in environments that don't need or have it (e.g. browsers, `deno`).\nlet cryptoPromise: Promise<typeof import(\"crypto\")> | null = null;\n\n// We could use top-level await to define this more statically, but that has limited transpilation support.\nexport async function getRandomValuesFactory(): Promise<GetRandomValuesFunction> {\n const hasWebCrypto =\n typeof crypto !== \"undefined\" &&\n typeof crypto.getRandomValues !== \"undefined\";\n\n if (hasWebCrypto) {\n return crypto.getRandomValues.bind(crypto) as GetRandomValuesFunction;\n } else {\n const nodeCrypto = await (cryptoPromise ??= import(\"crypto\"));\n return (arr: Uint32Array) => {\n if (!(arr instanceof Uint32Array)) {\n throw new Error(\n \"The getRandomValues() shim only takes unsigned 32-bit int arrays\",\n );\n }\n const bytes = nodeCrypto.randomBytes(arr.length * 4);\n const uint32_list = [];\n for (let i = 0; i < arr.length; i++) {\n uint32_list.push(\n (bytes[i * 4 + 0] << 24) +\n (bytes[i * 4 + 1] << 16) +\n (bytes[i * 4 + 2] << 8) +\n (bytes[i * 4 + 3] << 0),\n );\n }\n arr.set(uint32_list);\n };\n }\n}\n", "import {\n getRandomValuesFactory,\n GetRandomValuesFunction,\n} from \"./get-random-values\";\n\n/*\n * randomInt.below(max) returns a random non-negative integer less than max (0 <= output < max).\n * `max` must be at most 2^53.\n */\n\nconst MAX_JS_PRECISE_INT = 9007199254740992;\n\nconst UPPER_HALF_MULTIPLIER = 2097152; // 2^21. We have to use multiplication because bit shifts truncate to 32 bits.\nconst LOWER_HALF_DIVIDER = 2048;\n\nfunction random53BitValue(getRandomValues: GetRandomValuesFunction): number {\n // Construct a random 53-bit value from a 32-bit upper half and a 21-bit lower half.\n const arr = new Uint32Array(2);\n getRandomValues(arr);\n const upper = arr[0];\n const lower = arr[1];\n return (\n Math.floor(upper * UPPER_HALF_MULTIPLIER) +\n Math.floor(lower / LOWER_HALF_DIVIDER)\n );\n}\n\nfunction validateMax(max: number): void {\n if (typeof max !== \"number\" || max < 0 || Math.floor(max) !== max) {\n throw new Error(\n \"randomInt.below() not called with a positive integer value.\",\n );\n }\n if (max > MAX_JS_PRECISE_INT) {\n throw new Error(\n `Called randomInt.below() with max == ${max}, which is larger than Javascript can handle with integer precision.`,\n );\n }\n}\n\n// TODO: cache generated `randomUIntBelow`?\nexport async function randomUIntBelowFactory(): Promise<\n (max: number) => number\n> {\n const getRandomValues = await getRandomValuesFactory();\n const randomUIntBelow = (max: number): number => {\n validateMax(max);\n\n const val = random53BitValue(getRandomValues);\n const maxUniformSamplingRange = Math.floor(MAX_JS_PRECISE_INT / max) * max;\n\n // Rejection sampling:\n if (val < maxUniformSamplingRange) {\n return val % max;\n } else {\n // val % max would produce a biased result. This bias an be very bad if `max` is on the order of MAX_JS_PRECISE_INT. We have to try again, so just call ourselves recursively.\n // For some values of `max` just above 9007199254740992 / 2, this happens about once on average. For other values of `max`, it's less than that (and for small values of `max` it's extremely unlikely).\n\n // TODO: Use more bits of accuracy instead of rejection sampling to avoid DoS.\n return randomUIntBelow(max);\n }\n };\n return randomUIntBelow;\n}\n", "import { randomUIntBelowFactory } from \"./random-int\";\n\n// Inspired by https://reference.wolfram.com/language/ref/RandomChoice.html\n// This library itself should be kept small, but a wrapper library may want to implement selecting multiple element without replacement as with replacement:\n// https://reference.wolfram.com/language/ref/RandomSample.html\nexport async function randomChoiceFactory<T>(): Promise<(arr: Array<T>) => T> {\n const randomUIntBelow = await randomUIntBelowFactory();\n return (arr: Array<T>): T => arr[randomUIntBelow(arr.length)];\n}\n", "export { randomChoiceFactory } from \"./random-choice\";\nexport { randomUIntBelowFactory } from \"./random-int\";\n\n// TODO: reuse factory properly, move this to a separate file, add to impl.\nimport { randomUIntBelowFactory } from \"./random-int\";\nconst randomUIntBelowPromise = randomUIntBelowFactory();\nexport async function randomPermute<T>(list: T[]): Promise<void> {\n for (let i = 1; i < list.length; i++) {\n const j = (await randomUIntBelowPromise)(i);\n [list[i], list[j]] = [list[j], list[i]];\n }\n}\n", "import { randomUIntBelowFactory } from \"../vendor/random-uint-below\";\n\nconst pins = [\"UR\", \"DR\", \"DL\", \"UL\"];\nconst backMoves = [\"U\", \"R\", \"D\", \"L\", \"ALL\"];\nconst frontMoves = pins.concat(backMoves);\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nexport async function randomClockScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n let filteringMoveCount = 0;\n\n async function randomSuffix(randomUIntBelow: (max: number) => number) {\n const amount = randomUIntBelow(12);\n if (amount !== 0) {\n filteringMoveCount++;\n }\n if (amount <= 6) {\n return `${amount}+`;\n } else {\n return `${12 - amount}-`;\n }\n }\n\n const moves = [];\n async function side(families: string[]): Promise<void> {\n for (const family of families) {\n moves.push(`${family}${await randomSuffix(randomUIntBelow)}`);\n }\n }\n\n await side(frontMoves);\n moves.push(\"y2\");\n await side(backMoves);\n\n // https://www.worldcubeassociation.org/regulations/#4b3\n if (filteringMoveCount < 2) {\n return randomClockScrambleString();\n }\n\n for (const pin of pins) {\n if (randomUIntBelow(2) === 0) {\n moves.push(pin);\n }\n }\n return moves.join(\" \");\n}\n", "import { randomUIntBelowFactory } from \"../vendor/random-uint-below\";\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nconst suffixes = [\"++\", \"--\"];\n\nexport async function randomMegaminxScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n function rdPair(): string {\n return `R${suffixes[randomUIntBelow(2)]} D${suffixes[randomUIntBelow(2)]}`;\n }\n\n function randomU(): string {\n return `U${[\"\", \"'\"][randomUIntBelow(2)]}`;\n }\n\n function row(): string {\n const chunks = [];\n for (let i = 0; i < 5; i++) {\n chunks.push(rdPair());\n }\n chunks.push(randomU());\n return chunks.join(\" \");\n }\n\n const chunks = [];\n for (let i = 0; i < 6; i++) {\n chunks.push(row());\n }\n return chunks.join(\"\\n\");\n}\n", "export { wrap } from \"comlink\";\n\nconst useNodeWorkarounds =\n typeof globalThis.Worker === \"undefined\" &&\n typeof globalThis.WorkerNavigator === \"undefined\";\n\nexport async function workerFileConstructor() {\n if (useNodeWorkarounds) {\n return await (await import(\"./node.js\")).NodeWorkerWrapper();\n } else {\n return globalThis.Worker;\n }\n}\n\nexport async function constructWorkerFromString(stringSource, options) {\n let worker;\n if (useNodeWorkarounds) {\n const constructor = await (\n await import(\"./node.js\")\n ).NodeWorkerStringWrapper();\n const worker = new constructor(stringSource);\n return worker;\n } else {\n const blob = new Blob([stringSource], { type: \"application/javascript\" });\n const workerURL = URL.createObjectURL(blob);\n worker = new globalThis.Worker(workerURL, {\n type: options ? options.type : undefined, // TODO: Is it safe to use `options?.type`?\n });\n }\n return worker;\n}\n", "import type { WorkerInsideAPI } from \"./inside/api\";\n\nimport {\n constructWorkerFromString,\n workerFileConstructor,\n wrap,\n} from \"./vendor/comlink-everywhere/outside\";\n\nimport type { esmTestAPIImplementation } from \"./esm-test-worker\";\ntype ESMTestAPI = typeof esmTestAPIImplementation;\n\n// Blocked on:\n// - https://github.com/evanw/esbuild/issues/312\n// - https://bugzilla.mozilla.org/show_bug.cgi?id=1558780\nconst TEST_RELATIVE_URL_WORKER = false;\n\nexport async function instantiateRelativeURLWorker(): Promise<void> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n setTimeout(() => {\n reject();\n }, 1000);\n\n const Worker = await workerFileConstructor();\n const worker = new Worker(new URL(\"./esm-test-worker.js\", import.meta.url));\n const api = wrap<ESMTestAPI>(worker);\n\n if ((await api.test(\"to worker\")) === \"from worker\") {\n resolve();\n } else {\n reject();\n }\n\n // TODO: terminate worker.\n });\n}\n\nexport async function relativeURLWorkerTest(): Promise<void> {\n try {\n await instantiateRelativeURLWorker();\n console.info(\"Successful relative URL worker instantiation.\");\n } catch (e) {\n console.warn(\n \"WARNING: Could not instantiate and communicate with a relative URL worker. This means that your app may have issues with `cubing/solve` in the future.\",\n );\n }\n}\n\nexport async function instantiateWorker(): Promise<WorkerInsideAPI> {\n const { workerSource } = await import(\"./worker-inside-generated-string.js\");\n // console.log({ workerSource });\n\n const worker = await constructWorkerFromString(workerSource);\n\n if (TEST_RELATIVE_URL_WORKER) {\n relativeURLWorkerTest(); // do not wait for the result\n }\n\n return wrap(worker);\n}\n", "import { Alg } from \"../alg\";\n// import { preInitialize222 } from \"../implementations/2x2x2\";\nimport { randomClockScrambleString } from \"./inside/solve/puzzles/clock\"; // TODO: don't reach into `inside` code.\nimport { randomMegaminxScrambleString } from \"./inside/solve/puzzles/wca-minx\"; // TODO: don't reach into `inside` code.\nimport { instantiateWorker } from \"./instantiator\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport type { Transformation } from \"../kpuzzle\";\n\nlet cachedWorkerInstance: Promise<WorkerInsideAPI> | null = null;\nasync function getCachedWorkerInstance(): Promise<WorkerInsideAPI> {\n return await (cachedWorkerInstance ??= instantiateWorker());\n}\n\n// Pre-initialize the scrambler for the given event. (Otherwise, an event is\n// initialized the first time you ask for a scramble for that event.)\n//\n// Some typical numbers for a fast computer:\n// - 3x3x3 initialization: 200ms\n// - Each 3x3x3 scramble: 50ms\n// - 4x4x4 initialization: 2500ms\n// - Each 4x4x4 scramble: 300ms to 800ms\n//\n// It is safe to immediately call for a scramble\n// any time after starting pre-initialization, or to call for them without\n// pre-initializing. Pre-initializing essentially gives the scramble worker a\n// head start in case a scramble doesn't get requested immediately.\n//\n// Note that events cannot be pre-initialized in parallel. Attempting to\n// pre-initialize multiple events will initialize them consecutively. Scrambles\n// for a given event cannot be computed while another event is being initialized.\nexport function _preInitializationHintForEvent(\n eventID: string,\n // callback?: () => void\n): void {\n switch (eventID) {\n case \"clock\":\n case \"minx\":\n return;\n case \"333oh\":\n return _preInitializationHintForEvent(\"333\");\n }\n (async () => {\n await (await getCachedWorkerInstance()).initialize(eventID);\n })();\n}\n\nexport async function randomScrambleForEvent(eventID: string): Promise<Alg> {\n switch (eventID) {\n case \"clock\":\n return Alg.fromString(await randomClockScrambleString());\n case \"minx\":\n return Alg.fromString(await randomMegaminxScrambleString());\n }\n const prom = _randomScrambleStringForEvent(eventID);\n const wat = await prom;\n return Alg.fromString(wat);\n}\n\nexport async function _randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n const cwi = await getCachedWorkerInstance();\n return cwi.randomScrambleStringForEvent(eventID);\n}\n\nexport async function randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n switch (eventID) {\n case \"clock\":\n return randomClockScrambleString();\n case \"minx\":\n return randomMegaminxScrambleString();\n }\n return await _randomScrambleStringForEvent(eventID);\n}\n\nexport async function experimentalSolve3x3x3IgnoringCenters(\n s: Transformation,\n): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve333ToString(s));\n}\n\nexport async function experimentalSolve2x2x2(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve222ToString(s));\n}\n\nexport async function solveSkewb(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveSkewbToString(s));\n}\n\nexport async function solvePyraminx(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solvePyraminxToString(s));\n}\n\nexport async function solveMegaminx(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveMegaminxToString(s));\n}\n\nexport function setDebug(options: { logPerf?: boolean }): void {\n const { logPerf } = options;\n if (typeof logPerf !== \"undefined\") {\n getCachedWorkerInstance().then((cwi) => cwi.setDebugMeasurePerf(logPerf));\n }\n}\n", "var $intern_3 = { 3: 1 },\n $intern_9 = 4194303,\n $intern_10 = 1048575,\n $intern_11 = 524288,\n $intern_20 = 65535,\n $intern_26 = { 11: 1, 3: 1 },\n $intern_27 = { 17: 1, 3: 1 },\n $intern_28 = 14540032,\n $intern_29 = 286331153,\n $intern_30 = { 10: 1, 3: 1 };\nvar _;\nvar prototypesByTypeId_0 = {};\nfunction typeMarkerFn() {}\n\nfunction portableObjCreate(obj) {\n function F() {}\n\n F.prototype = obj || {};\n return new F();\n}\n\nfunction maybeGetClassLiteralFromPlaceHolder_0(entry) {\n return entry instanceof Array ? entry[0] : null;\n}\n\nfunction defineClass(typeId, superTypeId, castableTypeMap) {\n var prototypesByTypeId = prototypesByTypeId_0;\n var createSubclassPrototype = createSubclassPrototype_0;\n var maybeGetClassLiteralFromPlaceHolder =\n maybeGetClassLiteralFromPlaceHolder_0;\n var prototype_0 = prototypesByTypeId[typeId];\n var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0);\n if (prototype_0 && !clazz) {\n _ = prototype_0;\n } else {\n _ = prototypesByTypeId[typeId] = !superTypeId\n ? {}\n : createSubclassPrototype(superTypeId);\n _.castableTypeMap$ = castableTypeMap;\n _.constructor = _;\n !superTypeId && (_.typeMarker$ = typeMarkerFn);\n }\n for (var i = 3; i < arguments.length; ++i) {\n arguments[i].prototype = _;\n }\n clazz && (_.___clazz$ = clazz);\n}\n\nfunction createSubclassPrototype_0(superTypeId) {\n var prototypesByTypeId = prototypesByTypeId_0;\n return portableObjCreate(prototypesByTypeId[superTypeId]);\n}\n\nfunction Object_0() {}\n\ndefineClass(1, null, {}, Object_0);\n\nfunction narrow_byte(x_0) {\n return (x_0 << 24) >> 24;\n}\n\nfunction Class() {\n this.typeName = null;\n this.simpleName = null;\n this.packageName = null;\n this.compoundName = null;\n this.canonicalName = null;\n this.typeId = null;\n this.arrayLiterals = null;\n}\n\nfunction createClassObject(packageName, compoundClassName) {\n var clazz;\n clazz = new Class();\n clazz.packageName = packageName;\n clazz.compoundName = compoundClassName;\n return clazz;\n}\n\nfunction createForClass(packageName, compoundClassName, typeId) {\n var clazz;\n clazz = createClassObject(packageName, compoundClassName);\n maybeSetClassLiteral(typeId, clazz);\n return clazz;\n}\n\nfunction createForInterface(packageName, compoundClassName) {\n var clazz;\n clazz = createClassObject(packageName, compoundClassName);\n clazz.modifiers = 2;\n return clazz;\n}\n\nfunction createForPrimitive(className, primitiveTypeId) {\n var clazz;\n clazz = createClassObject(\"\", className);\n clazz.typeId = primitiveTypeId;\n clazz.modifiers = 1;\n return clazz;\n}\n\nfunction getClassLiteralForArray_0(leafClass, dimensions) {\n var arrayLiterals = (leafClass.arrayLiterals = leafClass.arrayLiterals || []);\n return (\n arrayLiterals[dimensions] ||\n (arrayLiterals[dimensions] =\n leafClass.createClassLiteralForArray(dimensions))\n );\n}\n\nfunction getPrototypeForClass(clazz) {\n if (clazz.isPrimitive()) {\n return null;\n }\n var typeId = clazz.typeId;\n var prototype_0 = prototypesByTypeId_0[typeId];\n return prototype_0;\n}\n\nfunction maybeSetClassLiteral(typeId, clazz) {\n if (!typeId) {\n return;\n }\n clazz.typeId = typeId;\n var prototype_0 = getPrototypeForClass(clazz);\n if (!prototype_0) {\n prototypesByTypeId_0[typeId] = [clazz];\n return;\n }\n prototype_0.___clazz$ = clazz;\n}\n\ndefineClass(79, 1, {}, Class);\n_.createClassLiteralForArray = function createClassLiteralForArray(dimensions) {\n var clazz;\n clazz = new Class();\n clazz.modifiers = 4;\n dimensions > 1\n ? (clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1))\n : (clazz.componentType = this);\n return clazz;\n};\n_.isPrimitive = function isPrimitive() {\n return (this.modifiers & 1) != 0;\n};\n\nfunction getClassLiteralForArray(clazz, dimensions) {\n return getClassLiteralForArray_0(clazz, dimensions);\n}\n\nfunction initDim(\n leafClassLiteral,\n castableTypeMap,\n elementTypeId,\n length_0,\n elementTypeCategory,\n dimensions,\n) {\n var result;\n result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);\n initValues(\n getClassLiteralForArray(leafClassLiteral, dimensions),\n castableTypeMap,\n elementTypeId,\n elementTypeCategory,\n result,\n );\n return result;\n}\n\nfunction initDims(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n count,\n) {\n return initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n 0,\n count,\n );\n}\n\nfunction initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n index_0,\n count,\n) {\n var elementTypeCategory, i, isLastDim, length_0, result;\n length_0 = dimExprs[index_0];\n isLastDim = index_0 == count - 1;\n elementTypeCategory = isLastDim ? leafElementTypeCategory : 0;\n result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);\n initValues(\n getClassLiteralForArray(leafClassLiteral, count - index_0),\n castableTypeMapExprs[index_0],\n elementTypeIds[index_0],\n elementTypeCategory,\n result,\n );\n if (!isLastDim) {\n ++index_0;\n for (i = 0; i < length_0; ++i) {\n result[i] = initDims_0(\n leafClassLiteral,\n castableTypeMapExprs,\n elementTypeIds,\n leafElementTypeCategory,\n dimExprs,\n index_0,\n count,\n );\n }\n }\n return result;\n}\n\nfunction initValues(\n arrayClass,\n castableTypeMap,\n elementTypeId,\n elementTypeCategory,\n array,\n) {\n array.___clazz$ = arrayClass;\n array.castableTypeMap$ = castableTypeMap;\n array.typeMarker$ = typeMarkerFn;\n array.__elementTypeId$ = elementTypeId;\n array.__elementTypeCategory$ = elementTypeCategory;\n return array;\n}\n\nfunction initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {\n var array = new Array(length_0);\n var initValue;\n switch (elementTypeCategory) {\n case 6:\n initValue = { l: 0, m: 0, h: 0 };\n break;\n case 7:\n initValue = 0;\n break;\n case 8:\n initValue = false;\n break;\n default:\n return array;\n }\n for (var i = 0; i < length_0; ++i) {\n array[i] = initValue;\n }\n return array;\n}\n\nfunction create(value_0) {\n var a0, a1, a2;\n a0 = value_0 & $intern_9;\n a1 = (value_0 >> 22) & $intern_9;\n a2 = value_0 < 0 ? $intern_10 : 0;\n return create0(a0, a1, a2);\n}\n\nfunction create0(l, m, h) {\n return { l: l, m: m, h: h };\n}\n\nfunction add_1(a, b) {\n var sum0, sum1, sum2;\n sum0 = a.l + b.l;\n sum1 = a.m + b.m + (sum0 >> 22);\n sum2 = a.h + b.h + (sum1 >> 22);\n return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };\n}\n\nfunction and(a, b) {\n return { l: a.l & b.l, m: a.m & b.m, h: a.h & b.h };\n}\n\nfunction fromInt(value_0) {\n var rebase, result;\n if (value_0 > -129 && value_0 < 128) {\n rebase = value_0 + 128;\n boxedValues == null &&\n (boxedValues = initDim(\n Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit,\n $intern_3,\n 293,\n 256,\n 0,\n 1,\n ));\n result = boxedValues[rebase];\n !result && (result = boxedValues[rebase] = create(value_0));\n return result;\n }\n return create(value_0);\n}\n\nfunction gte(a, b) {\n var signa, signb;\n signa = a.h >> 19;\n signb = b.h >> 19;\n return signa == 0\n ? signb != 0 ||\n a.h > b.h ||\n (a.h == b.h && a.m > b.m) ||\n (a.h == b.h && a.m == b.m && a.l >= b.l)\n : !(\n signb == 0 ||\n a.h < b.h ||\n (a.h == b.h && a.m < b.m) ||\n (a.h == b.h && a.m == b.m && a.l < b.l)\n );\n}\n\nfunction neq(a, b) {\n return a.l != b.l || a.m != b.m || a.h != b.h;\n}\n\nfunction or(a, b) {\n return { l: a.l | b.l, m: a.m | b.m, h: a.h | b.h };\n}\n\nfunction shl(a, n) {\n var res0, res1, res2;\n n &= 63;\n if (n < 22) {\n res0 = a.l << n;\n res1 = (a.m << n) | (a.l >> (22 - n));\n res2 = (a.h << n) | (a.m >> (22 - n));\n } else if (n < 44) {\n res0 = 0;\n res1 = a.l << (n - 22);\n res2 = (a.m << (n - 22)) | (a.l >> (44 - n));\n } else {\n res0 = 0;\n res1 = 0;\n res2 = a.l << (n - 44);\n }\n return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };\n}\n\nfunction shr(a, n) {\n var a2, negative, res0, res1, res2;\n n &= 63;\n a2 = a.h;\n negative = (a2 & $intern_11) != 0;\n negative && (a2 |= -1048576);\n if (n < 22) {\n res2 = a2 >> n;\n res1 = (a.m >> n) | (a2 << (22 - n));\n res0 = (a.l >> n) | (a.m << (22 - n));\n } else if (n < 44) {\n res2 = negative ? $intern_10 : 0;\n res1 = a2 >> (n - 22);\n res0 = (a.m >> (n - 22)) | (a2 << (44 - n));\n } else {\n res2 = negative ? $intern_10 : 0;\n res1 = negative ? $intern_9 : 0;\n res0 = a2 >> (n - 44);\n }\n return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };\n}\n\nfunction sub_0(a, b) {\n var sum0, sum1, sum2;\n sum0 = a.l - b.l;\n sum1 = a.m - b.m + (sum0 >> 22);\n sum2 = a.h - b.h + (sum1 >> 22);\n return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };\n}\n\nfunction toInt(a) {\n return a.l | (a.m << 22);\n}\n\nvar boxedValues;\n\nfunction AbstractStringBuilder(string) {\n this.string = string;\n}\n\nfunction max_0(x_0, y_0) {\n return x_0 > y_0 ? x_0 : y_0;\n}\n\nfunction min_0(x_0, y_0) {\n return x_0 < y_0 ? x_0 : y_0;\n}\n\nfunction $indexOf_0(this$static, str) {\n return this$static.indexOf(str);\n}\n\nfunction _String(value_0) {\n return __valueOf(value_0, 0, value_0.length);\n}\n\nfunction __valueOf(x_0, start_0, end) {\n var s = \"\";\n for (var batchStart = start_0; batchStart < end; ) {\n var batchEnd = Math.min(batchStart + 10000, end);\n s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd));\n batchStart = batchEnd;\n }\n return s;\n}\n\nfunction fromCodePoint(codePoint) {\n return String.fromCharCode(codePoint & $intern_20);\n}\n\nvar Ljava_lang_String_2_classLit = createForClass(\"java.lang\", \"String\", 2);\n\nfunction $append(this$static) {\n this$static.string += \" \";\n return this$static;\n}\n\nfunction $append_1(this$static, x_0) {\n this$static.string += x_0;\n return this$static;\n}\n\nfunction StringBuffer() {\n AbstractStringBuilder.call(this, \"\");\n}\n\nfunction equals_7(array1, array2) {\n var i;\n if (array1 === array2) {\n return true;\n }\n if (array1.length != array2.length) {\n return false;\n }\n for (i = 0; i < array1.length; ++i) {\n if (array1[i] != array2[i]) {\n return false;\n }\n }\n return true;\n}\n\nlet $clinit_CoordCube_ran = false;\nfunction $clinit_CoordCube() {\n if ($clinit_CoordCube_ran) {\n return;\n }\n $clinit_CoordCube_ran = true;\n UDSliceMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [495, 18],\n 2,\n );\n TwistMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [324, 18],\n 2,\n );\n FlipMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [336, 18],\n 2,\n );\n UDSliceConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [495, 8],\n 2,\n );\n UDSliceTwistPrun = initDim(I_classLit, $intern_27, 0, 20048, 7, 1);\n UDSliceFlipPrun = initDim(I_classLit, $intern_27, 0, 20791, 7, 1);\n TwistFlipPrun = initDim(I_classLit, $intern_27, 0, 82945, 7, 1);\n CPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [2768, 10],\n 2,\n );\n EPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [2768, 10],\n 2,\n );\n MPermMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [24, 10],\n 2,\n );\n MPermConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [24, 16],\n 2,\n );\n CCombPConj = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [140, 16],\n 2,\n );\n MCPermPrun = initDim(I_classLit, $intern_27, 0, 8305, 7, 1);\n EPermCCombPPrun = initDim(I_classLit, $intern_27, 0, 48441, 7, 1);\n}\n\nfunction $doMovePrun(this$static, cc, m) {\n this$static.slice_0 = UDSliceMove[cc.slice_0][m];\n this$static.flip =\n FlipMove[cc.flip][($clinit_CubieCube(), Sym8Move)[(m << 3) | cc.fsym]];\n this$static.fsym = (this$static.flip & 7) ^ cc.fsym;\n this$static.flip >>= 3;\n this$static.twist = TwistMove[cc.twist][Sym8Move[(m << 3) | cc.tsym]];\n this$static.tsym = (this$static.twist & 7) ^ cc.tsym;\n this$static.twist >>= 3;\n this$static.prun = max_0(\n max_0(\n getPruning(\n UDSliceTwistPrun,\n this$static.twist * 495 +\n UDSliceConj[this$static.slice_0][this$static.tsym],\n ),\n getPruning(\n UDSliceFlipPrun,\n this$static.flip * 495 +\n UDSliceConj[this$static.slice_0][this$static.fsym],\n ),\n ),\n getPruning(\n TwistFlipPrun,\n (this$static.twist << 11) |\n FlipS2RF[\n (this$static.flip << 3) | (this$static.fsym ^ this$static.tsym)\n ],\n ),\n );\n return this$static.prun;\n}\n\nfunction $doMovePrunConj(this$static, cc, m) {\n m = ($clinit_CubieCube(), SymMove_0)[3][m];\n this$static.flipc =\n FlipMove[cc.flipc >> 3][Sym8Move[(m << 3) | (cc.flipc & 7)]] ^\n (cc.flipc & 7);\n this$static.twistc =\n TwistMove[cc.twistc >> 3][Sym8Move[(m << 3) | (cc.twistc & 7)]] ^\n (cc.twistc & 7);\n return getPruning(\n TwistFlipPrun,\n ((this$static.twistc >> 3) << 11) |\n FlipS2RF[this$static.flipc ^ (this$static.twistc & 7)],\n );\n}\n\nfunction $setWithPrun(this$static, cc, depth) {\n var pc;\n this$static.twist = ($clinit_CubieCube(), TwistR2S)[$getTwist(cc)];\n this$static.flip = FlipR2S[$getFlip(cc)];\n this$static.tsym = this$static.twist & 7;\n this$static.twist = this$static.twist >> 3;\n this$static.prun = getPruning(\n TwistFlipPrun,\n (this$static.twist << 11) | FlipS2RF[this$static.flip ^ this$static.tsym],\n );\n if (this$static.prun > depth) {\n return false;\n }\n this$static.fsym = this$static.flip & 7;\n this$static.flip = this$static.flip >> 3;\n this$static.slice_0 = 494 - getComb(cc.ea, 8, true);\n this$static.prun = max_0(\n this$static.prun,\n max_0(\n getPruning(\n UDSliceTwistPrun,\n this$static.twist * 495 +\n UDSliceConj[this$static.slice_0][this$static.tsym],\n ),\n getPruning(\n UDSliceFlipPrun,\n this$static.flip * 495 +\n UDSliceConj[this$static.slice_0][this$static.fsym],\n ),\n ),\n );\n if (this$static.prun > depth) {\n return false;\n }\n pc = new CubieCube();\n CornConjugate(cc, 1, pc);\n EdgeConjugate(cc, 1, pc);\n this$static.twistc = TwistR2S[$getTwist(pc)];\n this$static.flipc = FlipR2S[$getFlip(pc)];\n this$static.prun = max_0(\n this$static.prun,\n getPruning(\n TwistFlipPrun,\n ((this$static.twistc >> 3) << 11) |\n FlipS2RF[this$static.flipc ^ (this$static.twistc & 7)],\n ),\n );\n return this$static.prun <= depth;\n}\n\nfunction CoordCube() {\n $clinit_CoordCube();\n}\n\nfunction getPruning(table, index_0) {\n $clinit_CoordCube();\n return (table[index_0 >> 3] >> (index_0 << 2)) & 15;\n}\n\nfunction init_0(fullInit) {\n $clinit_CoordCube();\n if (initLevel == 2 || (initLevel == 1 && !fullInit)) {\n return;\n }\n if (initLevel == 0) {\n initPermSym2Raw();\n initCPermMove();\n initEPermMove();\n initMPermMoveConj();\n initCombPMoveConj();\n $clinit_CubieCube();\n initSym2Raw(\n 2048,\n FlipS2R,\n FlipR2S,\n (SymStateFlip = initDim(C_classLit, $intern_26, 0, 336, 7, 1)),\n 0,\n );\n initSym2Raw(\n 2187,\n TwistS2R,\n TwistR2S,\n (SymStateTwist = initDim(C_classLit, $intern_26, 0, 324, 7, 1)),\n 1,\n );\n initFlipMove();\n initTwistMove();\n initUDSliceMoveConj();\n }\n initRawSymPrun(\n MCPermPrun,\n MPermMove,\n MPermConj,\n CPermMove,\n ($clinit_CubieCube(), SymStatePerm),\n 584244,\n fullInit,\n );\n initRawSymPrun(\n EPermCCombPPrun,\n CCombPMove,\n CCombPConj,\n EPermMove,\n SymStatePerm,\n 514084,\n fullInit,\n );\n initRawSymPrun(\n UDSliceTwistPrun,\n UDSliceMove,\n UDSliceConj,\n TwistMove,\n SymStateTwist,\n 431619,\n fullInit,\n );\n initRawSymPrun(\n UDSliceFlipPrun,\n UDSliceMove,\n UDSliceConj,\n FlipMove,\n SymStateFlip,\n 431619,\n fullInit,\n );\n initRawSymPrun(\n TwistFlipPrun,\n null,\n null,\n TwistMove,\n SymStateTwist,\n 103939,\n fullInit,\n );\n initLevel = fullInit ? 2 : 1;\n}\n\nfunction initCPermMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 2768; i++) {\n $setCPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);\n for (j = 0; j < 10; j++) {\n CornMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);\n CPermMove[i][j] =\n ESym2CSym(EPermR2S[getNPerm(d.ca, 8, false)]) & $intern_20;\n }\n }\n}\n\nfunction initCombPMoveConj() {\n var c, d, i, j, j0;\n c = new CubieCube();\n d = new CubieCube();\n CCombPMove = initDims(\n C_classLit,\n [$intern_3, $intern_26],\n [11, 0],\n 7,\n [140, 10],\n 2,\n );\n for (i = 0; i < 140; i++) {\n setComb(c.ca, i % 70, 0, false);\n for (j0 = 0; j0 < 10; j0++) {\n CornMult(\n c,\n ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]],\n d,\n );\n CCombPMove[i][j0] =\n (getComb(d.ca, 0, false) + 70 * (((165 >> j0) & 1) ^ ~~(i / 70))) &\n $intern_20;\n }\n for (j = 0; j < 16; j++) {\n CornConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n CCombPConj[i][j] =\n (getComb(d.ca, 0, false) + 70 * ~~(i / 70)) & $intern_20;\n }\n }\n}\n\nfunction initEPermMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 2768; i++) {\n $setEPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);\n for (j = 0; j < 10; j++) {\n EdgeMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);\n EPermMove[i][j] = EPermR2S[getNPerm(d.ea, 8, true)];\n }\n }\n}\n\nfunction initFlipMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 336; i++) {\n $setFlip(c, ($clinit_CubieCube(), FlipS2R)[i]);\n for (j = 0; j < 18; j++) {\n EdgeMult(c, moveCube[j], d);\n FlipMove[i][j] = FlipR2S[$getFlip(d)];\n }\n }\n}\n\nfunction initMPermMoveConj() {\n var c, d, i, j, j0;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 24; i++) {\n setNPerm(c.ea, i, 12, true);\n for (j0 = 0; j0 < 10; j0++) {\n EdgeMult(\n c,\n ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]],\n d,\n );\n MPermMove[i][j0] = getNPerm(d.ea, 12, true) % 24 & $intern_20;\n }\n for (j = 0; j < 16; j++) {\n EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n MPermConj[i][j] = getNPerm(d.ea, 12, true) % 24 & $intern_20;\n }\n }\n}\n\nfunction initRawSymPrun(\n PrunTable,\n RawMove,\n RawConj,\n SymMove,\n SymState,\n PrunFlag,\n fullInit,\n) {\n var INV_DEPTH,\n ISTFP,\n IS_PHASE2,\n MAX_DEPTH,\n MIN_DEPTH,\n NEXT_AXIS_MAGIC,\n N_MOVES,\n N_RAW,\n N_SIZE,\n SEARCH_DEPTH,\n SYM_E2C_MAGIC,\n SYM_MASK,\n SYM_SHIFT,\n check,\n depth,\n flip,\n fsym,\n i,\n i0,\n idx,\n idxx,\n inv,\n j,\n m,\n mask,\n prun,\n raw,\n rawx,\n selArrMask,\n select,\n sym,\n symState,\n symx,\n val,\n val0,\n xorVal;\n SYM_SHIFT = PrunFlag & 15;\n SYM_E2C_MAGIC = ((PrunFlag >> 4) & 1) == 1 ? $intern_28 : 0;\n IS_PHASE2 = ((PrunFlag >> 5) & 1) == 1;\n INV_DEPTH = (PrunFlag >> 8) & 15;\n MAX_DEPTH = (PrunFlag >> 12) & 15;\n MIN_DEPTH = (PrunFlag >> 16) & 15;\n SEARCH_DEPTH = fullInit ? MAX_DEPTH : MIN_DEPTH;\n SYM_MASK = (1 << SYM_SHIFT) - 1;\n ISTFP = RawMove == null;\n N_RAW = ISTFP ? 2048 : RawMove.length;\n N_SIZE = N_RAW * SymMove.length;\n N_MOVES = IS_PHASE2 ? 10 : 18;\n NEXT_AXIS_MAGIC = N_MOVES == 10 ? 66 : 599186;\n depth = ((PrunTable[N_SIZE >> 3] >> (N_SIZE << 2)) & 15) - 1;\n\n if (depth == -1) {\n for (i = 0; i < ~~(N_SIZE / 8) + 1; i++) {\n PrunTable[i] = $intern_29;\n }\n PrunTable[0] ^= 1;\n depth = 0;\n }\n while (depth < SEARCH_DEPTH) {\n mask = ((depth + 1) * $intern_29) ^ -1;\n for (i0 = 0; i0 < PrunTable.length; i0++) {\n val0 = PrunTable[i0] ^ mask;\n val0 &= val0 >> 1;\n PrunTable[i0] += val0 & (val0 >> 2) & $intern_29;\n }\n inv = depth > INV_DEPTH;\n select = inv ? depth + 2 : depth;\n selArrMask = select * $intern_29;\n check = inv ? depth : depth + 2;\n ++depth;\n xorVal = depth ^ (depth + 1);\n val = 0;\n for (i = 0; i < N_SIZE; ++i, val >>= 4) {\n if ((i & 7) == 0) {\n val = PrunTable[i >> 3];\n if (\n (((val ^ selArrMask) - $intern_29) &\n ~(val ^ selArrMask) &\n -2004318072) ==\n 0\n ) {\n i += 7;\n continue;\n }\n }\n if ((val & 15) != select) {\n continue;\n }\n raw = i % N_RAW;\n sym = ~~(i / N_RAW);\n flip = 0;\n fsym = 0;\n if (ISTFP) {\n flip = ($clinit_CubieCube(), FlipR2S)[raw];\n fsym = flip & 7;\n flip >>= 3;\n }\n for (m = 0; m < N_MOVES; m++) {\n symx = SymMove[sym][m];\n ISTFP\n ? (rawx = ($clinit_CubieCube(), FlipS2RF)[\n FlipMove[flip][Sym8Move[(m << 3) | fsym]] ^\n fsym ^\n (symx & SYM_MASK)\n ])\n : (rawx = RawConj[RawMove[raw][m]][symx & SYM_MASK]);\n symx >>= SYM_SHIFT;\n idx = symx * N_RAW + rawx;\n prun = (PrunTable[idx >> 3] >> (idx << 2)) & 15;\n if (prun != check) {\n prun < depth - 1 && (m += (NEXT_AXIS_MAGIC >> m) & 3);\n continue;\n }\n if (inv) {\n PrunTable[i >> 3] ^= xorVal << (i << 2);\n break;\n }\n PrunTable[idx >> 3] ^= xorVal << (idx << 2);\n for (j = 1, symState = SymState[symx]; (symState >>= 1) != 0; j++) {\n if ((symState & 1) != 1) {\n continue;\n }\n idxx = symx * N_RAW;\n ISTFP\n ? (idxx += ($clinit_CubieCube(), FlipS2RF)[FlipR2S[rawx] ^ j])\n : (idxx += RawConj[rawx][j ^ ((SYM_E2C_MAGIC >> (j << 1)) & 3)]);\n if (((PrunTable[idxx >> 3] >> (idxx << 2)) & 15) == check) {\n PrunTable[idxx >> 3] ^= xorVal << (idxx << 2);\n }\n }\n }\n }\n }\n}\n\nfunction initTwistMove() {\n var c, d, i, j;\n c = new CubieCube();\n d = new CubieCube();\n for (i = 0; i < 324; i++) {\n $setTwist(c, ($clinit_CubieCube(), TwistS2R)[i]);\n for (j = 0; j < 18; j++) {\n CornMult(c, moveCube[j], d);\n TwistMove[i][j] = TwistR2S[$getTwist(d)];\n }\n }\n}\n\nfunction initUDSliceMoveConj() {\n var c, d, i, i0, j, j0, k, udslice;\n c = new CubieCube();\n d = new CubieCube();\n for (i0 = 0; i0 < 495; i0++) {\n setComb(c.ea, 494 - i0, 8, true);\n for (j0 = 0; j0 < 18; j0 += 3) {\n EdgeMult(c, ($clinit_CubieCube(), moveCube)[j0], d);\n UDSliceMove[i0][j0] = (494 - getComb(d.ea, 8, true)) & $intern_20;\n }\n for (j = 0; j < 16; j += 2) {\n EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);\n UDSliceConj[i0][j >> 1] = (494 - getComb(d.ea, 8, true)) & $intern_20;\n }\n }\n for (i = 0; i < 495; i++) {\n for (j = 0; j < 18; j += 3) {\n udslice = UDSliceMove[i][j];\n for (k = 1; k < 3; k++) {\n udslice = UDSliceMove[udslice][j];\n UDSliceMove[i][j + k] = udslice & $intern_20;\n }\n }\n }\n}\n\ndefineClass(31, 1, { 31: 1 }, CoordCube);\n_.flip = 0;\n_.flipc = 0;\n_.fsym = 0;\n_.prun = 0;\n_.slice_0 = 0;\n_.tsym = 0;\n_.twist = 0;\n_.twistc = 0;\nvar CCombPConj,\n CCombPMove,\n CPermMove,\n EPermCCombPPrun,\n EPermMove,\n FlipMove,\n MCPermPrun,\n MPermConj,\n MPermMove,\n TwistFlipPrun,\n TwistMove,\n UDSliceConj,\n UDSliceFlipPrun,\n UDSliceMove,\n UDSliceTwistPrun,\n initLevel = 0;\nvar Lorg_cubing_min2phase_client_CoordCube_2_classLit = createForClass(\n \"org.cubing.min2phase.client\",\n \"CoordCube\",\n 31,\n);\nlet $clinit_CubieCube_ran = false;\nfunction $clinit_CubieCube() {\n if ($clinit_CubieCube_ran) {\n return;\n }\n $clinit_CubieCube_ran = true;\n CubeSym = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 16,\n 0,\n 1,\n );\n moveCube = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 18,\n 0,\n 1,\n );\n moveCubeSym = initDim(J_classLit, $intern_3, 0, 18, 6, 1);\n firstMoveSym = initDim(I_classLit, $intern_27, 0, 48, 7, 1);\n SymMult = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 16],\n 2,\n );\n SymMultInv = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 16],\n 2,\n );\n SymMove_0 = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 18],\n 2,\n );\n Sym8Move = initDim(I_classLit, $intern_27, 0, 144, 7, 1);\n SymMoveUD = initDims(\n I_classLit,\n [$intern_3, $intern_27],\n [17, 0],\n 7,\n [16, 18],\n 2,\n );\n FlipS2R = initDim(C_classLit, $intern_26, 0, 336, 7, 1);\n TwistS2R = initDim(C_classLit, $intern_26, 0, 324, 7, 1);\n EPermS2R = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);\n Perm2CombP = initDim(B_classLit, $intern_30, 0, 2768, 7, 1);\n PermInvEdgeSym = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);\n MPermInv = initDim(B_classLit, $intern_30, 0, 24, 7, 1);\n FlipR2S = initDim(C_classLit, $intern_26, 0, 2048, 7, 1);\n TwistR2S = initDim(C_classLit, $intern_26, 0, 2187, 7, 1);\n EPermR2S = initDim(C_classLit, $intern_26, 0, 40320, 7, 1);\n FlipS2RF = initDim(C_classLit, $intern_26, 0, 2688, 7, 1);\n urf1 = new CubieCube_0(2531, 1373, 67026819, 1367);\n urf2 = new CubieCube_0(2089, 1906, 322752913, 2040);\n urfMove = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [6, 7, 8, 0, 1, 2, 3, 4, 5, 15, 16, 17, 9, 10, 11, 12, 13, 14],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [3, 4, 5, 6, 7, 8, 0, 1, 2, 12, 13, 14, 15, 16, 17, 9, 10, 11],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 17, 16, 15],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [8, 7, 6, 2, 1, 0, 5, 4, 3, 17, 16, 15, 11, 10, 9, 14, 13, 12],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [5, 4, 3, 8, 7, 6, 2, 1, 0, 14, 13, 12, 17, 16, 15, 11, 10, 9],\n ),\n ],\n );\n initMove();\n initSym();\n}\n\nfunction $$init(this$static) {\n this$static.ca = initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 1, 2, 3, 4, 5, 6, 7],\n );\n this$static.ea = initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22],\n );\n}\n\nfunction $URFConjugate(this$static) {\n !this$static.temps && (this$static.temps = new CubieCube());\n CornMult(urf2, this$static, this$static.temps);\n CornMult(this$static.temps, urf1, this$static);\n EdgeMult(urf2, this$static, this$static.temps);\n EdgeMult(this$static.temps, urf1, this$static);\n}\n\nfunction $copy(this$static, c) {\n var i, i0;\n for (i0 = 0; i0 < 8; i0++) {\n this$static.ca[i0] = c.ca[i0];\n }\n for (i = 0; i < 12; i++) {\n this$static.ea[i] = c.ea[i];\n }\n}\n\nfunction $getCPermSym(this$static) {\n return ESym2CSym(EPermR2S[getNPerm(this$static.ca, 8, false)]);\n}\n\nfunction $getEPermSym(this$static) {\n return EPermR2S[getNPerm(this$static.ea, 8, true)];\n}\n\nfunction $getFlip(this$static) {\n var i, idx;\n idx = 0;\n for (i = 0; i < 11; i++) {\n idx = (idx << 1) | (this$static.ea[i] & 1);\n }\n return idx;\n}\n\nfunction $getTwist(this$static) {\n var i, idx;\n idx = 0;\n for (i = 0; i < 7; i++) {\n idx += (idx << 1) + (this$static.ca[i] >> 3);\n }\n return idx;\n}\n\nfunction $invCubieCube(this$static) {\n var corn, edge;\n !this$static.temps && (this$static.temps = new CubieCube());\n for (edge = 0; edge < 12; edge++) {\n this$static.temps.ea[this$static.ea[edge] >> 1] =\n (((edge << 1) | (this$static.ea[edge] & 1)) << 24) >> 24;\n }\n for (corn = 0; corn < 8; corn++) {\n this$static.temps.ca[this$static.ca[corn] & 7] =\n ((corn | ((32 >> (this$static.ca[corn] >> 3)) & 24)) << 24) >> 24;\n }\n $copy(this$static, this$static.temps);\n}\n\nfunction $selfSymmetry(this$static) {\n var c, cperm, cpermx, d, i, sym, urfInv;\n c = new CubieCube_1(this$static);\n d = new CubieCube();\n cperm = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;\n sym = { l: 0, m: 0, h: 0 };\n for (urfInv = 0; urfInv < 6; urfInv++) {\n cpermx = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;\n if (cperm == cpermx) {\n for (i = 0; i < 16; i++) {\n CornConjugate(c, SymMultInv[0][i], d);\n if (equals_7(d.ca, this$static.ca)) {\n EdgeConjugate(c, SymMultInv[0][i], d);\n equals_7(d.ea, this$static.ea) &&\n (sym = or(\n sym,\n shl(\n { l: 1, m: 0, h: 0 },\n ((urfInv << 4) | i) < 48 ? (urfInv << 4) | i : 48,\n ),\n ));\n }\n }\n }\n $URFConjugate(c);\n urfInv % 3 == 2 && $invCubieCube(c);\n }\n return sym;\n}\n\nfunction $setCPerm(this$static, idx) {\n setNPerm(this$static.ca, idx, 8, false);\n}\n\nfunction $setEPerm(this$static, idx) {\n setNPerm(this$static.ea, idx, 8, true);\n}\n\nfunction $setFlip(this$static, idx) {\n var i, parity, val;\n parity = 0;\n for (i = 10; i >= 0; --i, idx >>= 1) {\n parity ^= val = idx & 1;\n this$static.ea[i] = (((this$static.ea[i] & -2) | val) << 24) >> 24;\n }\n this$static.ea[11] = (((this$static.ea[11] & -2) | parity) << 24) >> 24;\n}\n\nfunction $setTwist(this$static, idx) {\n var i, twst, val;\n twst = 15;\n for (i = 6; i >= 0; --i, idx = ~~(idx / 3)) {\n twst -= val = idx % 3;\n this$static.ca[i] = (((this$static.ca[i] & 7) | (val << 3)) << 24) >> 24;\n }\n this$static.ca[7] = (((this$static.ca[7] & 7) | (twst % 3 << 3)) << 24) >> 24;\n}\n\nfunction $verify(this$static) {\n var c, cornMask, e, edgeMask, sum;\n sum = 0;\n edgeMask = 0;\n for (e = 0; e < 12; e++) {\n edgeMask |= 1 << (this$static.ea[e] >> 1);\n sum ^= this$static.ea[e] & 1;\n }\n if (edgeMask != 4095) {\n return -2;\n }\n if (sum != 0) {\n return -3;\n }\n cornMask = 0;\n sum = 0;\n for (c = 0; c < 8; c++) {\n cornMask |= 1 << (this$static.ca[c] & 7);\n sum += this$static.ca[c] >> 3;\n }\n if (cornMask != 255) {\n return -4;\n }\n if (sum % 3 != 0) {\n return -5;\n }\n if (\n (getNParity(getNPerm(this$static.ea, 12, true), 12) ^\n getNParity(getNPerm(this$static.ca, 8, false), 8)) !=\n 0\n ) {\n return -6;\n }\n return 0;\n}\n\nfunction CornConjugate(a, idx, b) {\n $clinit_CubieCube();\n var corn, ori, oriA, oriB, s, sinv;\n sinv = CubeSym[SymMultInv[0][idx]];\n s = CubeSym[idx];\n for (corn = 0; corn < 8; corn++) {\n oriA = sinv.ca[a.ca[s.ca[corn] & 7] & 7] >> 3;\n oriB = a.ca[s.ca[corn] & 7] >> 3;\n ori = oriA < 3 ? oriB : (3 - oriB) % 3;\n b.ca[corn] =\n (((sinv.ca[a.ca[s.ca[corn] & 7] & 7] & 7) | (ori << 3)) << 24) >> 24;\n }\n}\n\nfunction CornMult(a, b, prod) {\n $clinit_CubieCube();\n var corn, oriA, oriB;\n for (corn = 0; corn < 8; corn++) {\n oriA = a.ca[b.ca[corn] & 7] >> 3;\n oriB = b.ca[corn] >> 3;\n prod.ca[corn] =\n (((a.ca[b.ca[corn] & 7] & 7) | ((oriA + oriB) % 3 << 3)) << 24) >> 24;\n }\n}\n\nfunction CornMultFull(a, b, prod) {\n var corn, ori, oriA, oriB;\n for (corn = 0; corn < 8; corn++) {\n oriA = a.ca[b.ca[corn] & 7] >> 3;\n oriB = b.ca[corn] >> 3;\n ori = oriA + (oriA < 3 ? oriB : 6 - oriB);\n ori = (ori % 3) + (oriA < 3 == oriB < 3 ? 0 : 3);\n prod.ca[corn] = (((a.ca[b.ca[corn] & 7] & 7) | (ori << 3)) << 24) >> 24;\n }\n}\n\nfunction CubieCube() {\n $clinit_CubieCube();\n $$init(this);\n}\n\nfunction CubieCube_0(cperm, twist, eperm, flip) {\n $$init(this);\n setNPerm(this.ca, cperm, 8, false);\n $setTwist(this, twist);\n setNPerm(this.ea, eperm, 12, true);\n $setFlip(this, flip);\n}\n\nfunction CubieCube_1(c) {\n $$init(this);\n $copy(this, c);\n}\n\nfunction ESym2CSym(idx) {\n $clinit_CubieCube();\n return idx ^ (($intern_28 >> ((idx & 15) << 1)) & 3);\n}\n\nfunction EdgeConjugate(a, idx, b) {\n $clinit_CubieCube();\n var ed, s, sinv;\n sinv = CubeSym[SymMultInv[0][idx]];\n s = CubeSym[idx];\n for (ed = 0; ed < 12; ed++) {\n b.ea[ed] =\n ((sinv.ea[a.ea[s.ea[ed] >> 1] >> 1] ^\n (a.ea[s.ea[ed] >> 1] & 1) ^\n (s.ea[ed] & 1)) <<\n 24) >>\n 24;\n }\n}\n\nfunction EdgeMult(a, b, prod) {\n $clinit_CubieCube();\n var ed;\n for (ed = 0; ed < 12; ed++) {\n prod.ea[ed] = ((a.ea[b.ea[ed] >> 1] ^ (b.ea[ed] & 1)) << 24) >> 24;\n }\n}\n\nfunction getPermSymInv(idx, sym, isCorner) {\n $clinit_CubieCube();\n var idxi;\n idxi = PermInvEdgeSym[idx];\n isCorner && (idxi = idxi ^ (($intern_28 >> ((idxi & 15) << 1)) & 3));\n return (idxi & 65520) | SymMult[idxi & 15][sym];\n}\n\nfunction getSkipMoves() {\n $clinit_CubieCube();\n // var i, ret;\n // ret = 0;\n // for (i = 1; neq((ssym = shr(ssym, 1)), { l: 0, m: 0, h: 0 }); i++) {\n // eq(and(ssym, { l: 1, m: 0, h: 0 }), { l: 1, m: 0, h: 0 }) &&\n // (ret |= firstMoveSym[i]);\n // }\n return 0;\n}\n\nfunction initMove() {\n var a, p;\n moveCube[0] = new CubieCube_0(15120, 0, 119750400, 0);\n moveCube[3] = new CubieCube_0(21021, 1494, 323403417, 0);\n moveCube[6] = new CubieCube_0(8064, 1236, 29441808, 550);\n moveCube[9] = new CubieCube_0(9, 0, 5880, 0);\n moveCube[12] = new CubieCube_0(1230, 412, 2949660, 0);\n moveCube[15] = new CubieCube_0(224, 137, 328552, 137);\n for (a = 0; a < 18; a += 3) {\n for (p = 0; p < 2; p++) {\n moveCube[a + p + 1] = new CubieCube();\n EdgeMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);\n CornMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);\n }\n }\n}\n\nfunction initPermSym2Raw() {\n $clinit_CubieCube();\n var cc, i, i0;\n initSym2Raw(\n 40320,\n EPermS2R,\n EPermR2S,\n (SymStatePerm = initDim(C_classLit, $intern_26, 0, 2768, 7, 1)),\n 2,\n );\n cc = new CubieCube();\n for (i0 = 0; i0 < 2768; i0++) {\n $setEPerm(cc, EPermS2R[i0]);\n Perm2CombP[i0] =\n ((getComb(cc.ea, 0, true) + getNParity(EPermS2R[i0], 8) * 70) << 24) >>\n 24;\n $invCubieCube(cc);\n PermInvEdgeSym[i0] = EPermR2S[getNPerm(cc.ea, 8, true)];\n }\n for (i = 0; i < 24; i++) {\n setNPerm(cc.ea, i, 12, true);\n $invCubieCube(cc);\n MPermInv[i] = (getNPerm(cc.ea, 12, true) % 24 << 24) >> 24;\n }\n}\n\nfunction initSym() {\n var c, d, f2, i, i0, i1, i2, j, j0, j1, k, lr2, m, s, t, u4;\n c = new CubieCube();\n d = new CubieCube();\n f2 = new CubieCube_0(28783, 0, 259268407, 0);\n u4 = new CubieCube_0(15138, 0, 119765538, 7);\n lr2 = new CubieCube_0(5167, 0, 83473207, 0);\n for (i0 = 0; i0 < 8; i0++) {\n lr2.ca[i0] = narrow_byte(lr2.ca[i0] | 24);\n }\n for (i1 = 0; i1 < 16; i1++) {\n CubeSym[i1] = new CubieCube_1(c);\n CornMultFull(c, u4, d);\n EdgeMult(c, u4, d);\n t = d;\n d = c;\n c = t;\n if (i1 % 4 == 3) {\n CornMultFull(t, lr2, d);\n EdgeMult(t, lr2, d);\n t = d;\n d = c;\n c = t;\n }\n if (i1 % 8 == 7) {\n CornMultFull(t, f2, d);\n EdgeMult(t, f2, d);\n t = d;\n d = c;\n c = t;\n }\n }\n for (i2 = 0; i2 < 16; i2++) {\n for (j0 = 0; j0 < 16; j0++) {\n CornMultFull(CubeSym[i2], CubeSym[j0], c);\n for (k = 0; k < 16; k++) {\n if (equals_7(CubeSym[k].ca, c.ca)) {\n SymMult[i2][j0] = k;\n SymMultInv[k][j0] = i2;\n break;\n }\n }\n }\n }\n for (j1 = 0; j1 < 18; j1++) {\n for (s = 0; s < 16; s++) {\n CornConjugate(moveCube[j1], SymMultInv[0][s], c);\n for (m = 0; m < 18; m++) {\n if (equals_7(moveCube[m].ca, c.ca)) {\n SymMove_0[s][j1] = m;\n SymMoveUD[s][($clinit_Util(), std2ud)[j1]] = std2ud[m];\n break;\n }\n }\n s % 2 == 0 && (Sym8Move[(j1 << 3) | (s >> 1)] = SymMove_0[s][j1]);\n }\n }\n for (i = 0; i < 18; i++) {\n moveCubeSym[i] = $selfSymmetry(moveCube[i]);\n j = i;\n for (s = 0; s < 48; s++) {\n SymMove_0[s % 16][j] < i && (firstMoveSym[s] |= 1 << i);\n s % 16 == 15 && (j = urfMove[2][j]);\n }\n }\n}\n\nfunction initSym2Raw(N_RAW, Sym2Raw, Raw2Sym, SymState, coord) {\n $clinit_CubieCube();\n var c, count, d, i, idx, isEdge, s, symIdx, sym_inc;\n c = new CubieCube();\n d = new CubieCube();\n count = 0;\n idx = 0;\n sym_inc = coord >= 2 ? 1 : 2;\n isEdge = coord != 1;\n for (i = 0; i < N_RAW; i++) {\n if (Raw2Sym[i] != 0) {\n continue;\n }\n switch (coord) {\n case 0:\n $setFlip(c, i);\n break;\n case 1:\n $setTwist(c, i);\n break;\n case 2:\n setNPerm(c.ea, i, 8, true);\n }\n for (s = 0; s < 16; s += sym_inc) {\n isEdge ? EdgeConjugate(c, s, d) : CornConjugate(c, s, d);\n switch (coord) {\n case 0:\n idx = $getFlip(d);\n break;\n case 1:\n idx = $getTwist(d);\n break;\n case 2:\n idx = getNPerm(d.ea, 8, true);\n }\n coord == 0 && (FlipS2RF[(count << 3) | (s >> 1)] = idx & $intern_20);\n idx == i &&\n (SymState[count] =\n (SymState[count] | (1 << ~~(s / sym_inc))) & $intern_20);\n symIdx = ~~(((count << 4) | s) / sym_inc);\n Raw2Sym[idx] = symIdx & $intern_20;\n }\n Sym2Raw[count++] = i & $intern_20;\n }\n return count;\n}\n\nvar CubeSym,\n EPermR2S,\n EPermS2R,\n FlipR2S,\n FlipS2R,\n FlipS2RF,\n MPermInv,\n Perm2CombP,\n PermInvEdgeSym,\n Sym8Move,\n SymMove_0,\n SymMoveUD,\n SymMult,\n SymMultInv,\n SymStateFlip,\n SymStatePerm,\n SymStateTwist,\n TwistR2S,\n TwistS2R,\n firstMoveSym,\n moveCube,\n moveCubeSym,\n urf1,\n urf2,\n urfMove;\nvar Lorg_cubing_min2phase_client_CubieCube_2_classLit = createForClass(\n \"org.cubing.min2phase.client\",\n \"CubieCube\",\n 7,\n);\n\nfunction $initPhase2(\n this$static,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n edgei,\n corni,\n) {\n var depth2, i, i0, prun, ret;\n prun = max_0(\n getPruning(\n ($clinit_CoordCube(), EPermCCombPPrun),\n (edgei >> 4) * 140 +\n CCombPConj[($clinit_CubieCube(), Perm2CombP)[corni >> 4] & 255][\n SymMultInv[edgei & 15][corni & 15]\n ],\n ),\n max_0(\n getPruning(\n EPermCCombPPrun,\n p2edge * 140 +\n CCombPConj[Perm2CombP[p2corn] & 255][SymMultInv[p2esym][p2csym]],\n ),\n getPruning(MCPermPrun, p2corn * 24 + MPermConj[p2mid][p2csym]),\n ),\n );\n if (prun > this$static.maxDep2) {\n return prun - this$static.maxDep2;\n }\n for (depth2 = this$static.maxDep2; depth2 >= prun; depth2--) {\n ret = $phase2(\n this$static,\n p2edge,\n p2esym,\n p2corn,\n p2csym,\n p2mid,\n depth2,\n this$static.depth1,\n 10,\n );\n if (ret < 0) {\n break;\n }\n depth2 -= ret;\n this$static.solLen = 0;\n this$static.solution = new Util$Solution();\n $setArgs(\n this$static.solution,\n this$static.verbose,\n this$static.urfIdx,\n this$static.depth1,\n );\n for (i0 = 0; i0 < this$static.depth1 + depth2; i0++) {\n $appendSolMove(this$static.solution, this$static.move[i0]);\n }\n for (i = this$static.preMoveLen - 1; i >= 0; i--) {\n $appendSolMove(this$static.solution, this$static.preMoves[i]);\n }\n this$static.solLen = this$static.solution.length_0;\n }\n if (depth2 != this$static.maxDep2) {\n this$static.maxDep2 = min_0(\n MAX_DEPTH2,\n this$static.solLen - this$static.length1 - 1,\n );\n return gte(this$static.probe, this$static.probeMin) ? 0 : 1;\n }\n return 1;\n}\n\nfunction $initPhase2Pre(this$static) {\n var corni,\n edgei,\n i,\n lastMove,\n lastPre,\n m,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n p2switch,\n p2switchMask,\n p2switchMax,\n ret;\n this$static.isRec = false;\n if (\n gte(\n this$static.probe,\n !this$static.solution ? this$static.probeMax : this$static.probeMin,\n )\n ) {\n return 0;\n }\n this$static.probe = add_1(this$static.probe, { l: 1, m: 0, h: 0 });\n for (i = this$static.valid1; i < this$static.depth1; i++) {\n CornMult(\n this$static.phase1Cubie[i],\n ($clinit_CubieCube(), moveCube)[this$static.move[i]],\n this$static.phase1Cubie[i + 1],\n );\n EdgeMult(\n this$static.phase1Cubie[i],\n moveCube[this$static.move[i]],\n this$static.phase1Cubie[i + 1],\n );\n }\n this$static.valid1 = this$static.depth1;\n p2corn = $getCPermSym(this$static.phase1Cubie[this$static.depth1]);\n p2csym = p2corn & 15;\n p2corn >>= 4;\n p2edge = $getEPermSym(this$static.phase1Cubie[this$static.depth1]);\n p2esym = p2edge & 15;\n p2edge >>= 4;\n p2mid =\n getNPerm(this$static.phase1Cubie[this$static.depth1].ea, 12, true) % 24;\n edgei = getPermSymInv(p2edge, p2esym, false);\n corni = getPermSymInv(p2corn, p2csym, true);\n lastMove =\n this$static.depth1 == 0 ? -1 : this$static.move[this$static.depth1 - 1];\n lastPre =\n this$static.preMoveLen == 0\n ? -1\n : this$static.preMoves[this$static.preMoveLen - 1];\n ret = 0;\n p2switchMax =\n (this$static.preMoveLen == 0 ? 1 : 2) * (this$static.depth1 == 0 ? 1 : 2);\n for (\n p2switch = 0, p2switchMask = (1 << p2switchMax) - 1;\n p2switch < p2switchMax;\n p2switch++\n ) {\n if (((p2switchMask >> p2switch) & 1) != 0) {\n p2switchMask &= ~(1 << p2switch);\n ret = $initPhase2(\n this$static,\n p2corn,\n p2csym,\n p2edge,\n p2esym,\n p2mid,\n edgei,\n corni,\n );\n if (ret == 0 || ret > 2) {\n break;\n } else ret == 2 && (p2switchMask &= 4 << p2switch);\n }\n if (p2switchMask == 0) {\n break;\n }\n if ((p2switch & 1) == 0 && this$static.depth1 > 0) {\n m = ($clinit_Util(), std2ud)[~~(lastMove / 3) * 3 + 1];\n this$static.move[this$static.depth1 - 1] =\n ud2std[m] * 2 - this$static.move[this$static.depth1 - 1];\n p2mid = ($clinit_CoordCube(), MPermMove)[p2mid][m];\n p2corn = CPermMove[p2corn][($clinit_CubieCube(), SymMoveUD)[p2csym][m]];\n p2csym = SymMult[p2corn & 15][p2csym];\n p2corn >>= 4;\n p2edge = EPermMove[p2edge][SymMoveUD[p2esym][m]];\n p2esym = SymMult[p2edge & 15][p2esym];\n p2edge >>= 4;\n corni = getPermSymInv(p2corn, p2csym, true);\n edgei = getPermSymInv(p2edge, p2esym, false);\n } else if (this$static.preMoveLen > 0) {\n m = ($clinit_Util(), std2ud)[~~(lastPre / 3) * 3 + 1];\n this$static.preMoves[this$static.preMoveLen - 1] =\n ud2std[m] * 2 - this$static.preMoves[this$static.preMoveLen - 1];\n p2mid = ($clinit_CubieCube(), MPermInv)[\n ($clinit_CoordCube(), MPermMove)[MPermInv[p2mid]][m]\n ];\n p2corn = CPermMove[corni >> 4][SymMoveUD[corni & 15][m]];\n corni = (p2corn & -16) | SymMult[p2corn & 15][corni & 15];\n p2corn = getPermSymInv(corni >> 4, corni & 15, true);\n p2csym = p2corn & 15;\n p2corn >>= 4;\n p2edge = EPermMove[edgei >> 4][SymMoveUD[edgei & 15][m]];\n edgei = (p2edge & -16) | SymMult[p2edge & 15][edgei & 15];\n p2edge = getPermSymInv(edgei >> 4, edgei & 15, false);\n p2esym = p2edge & 15;\n p2edge >>= 4;\n }\n }\n this$static.depth1 > 0 &&\n (this$static.move[this$static.depth1 - 1] = lastMove);\n this$static.preMoveLen > 0 &&\n (this$static.preMoves[this$static.preMoveLen - 1] = lastPre);\n return ret == 0 ? 0 : 2;\n}\n\nfunction $initSearch(this$static) {\n var i;\n this$static.conjMask = 0;\n this$static.selfSym = $selfSymmetry(this$static.cc);\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 16), { l: $intern_20, m: 0, h: 0 }),\n { l: 0, m: 0, h: 0 },\n )\n ? 18\n : 0;\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 32), { l: $intern_20, m: 0, h: 0 }),\n { l: 0, m: 0, h: 0 },\n )\n ? 36\n : 0;\n this$static.conjMask |= neq(\n and(shr(this$static.selfSym, 48), { l: $intern_20, m: 0, h: 0 }),\n { l: 0, m: 0, h: 0 },\n )\n ? 56\n : 0;\n this$static.selfSym = and(this$static.selfSym, {\n l: $intern_9,\n m: $intern_9,\n h: 15,\n });\n this$static.maxPreMoves = this$static.conjMask > 7 ? 0 : 20;\n for (i = 0; i < 6; i++) {\n $copy(this$static.urfCubieCube[i], this$static.cc);\n $setWithPrun(this$static.urfCoordCube[i], this$static.urfCubieCube[i], 20);\n $URFConjugate(this$static.cc);\n i % 3 == 2 && $invCubieCube(this$static.cc);\n }\n}\n\nfunction $phase1(this$static, node, ssym, maxl, lm) {\n var axis_0, m, power, prun, ret, skipMoves;\n if (node.prun == 0 && maxl < 5) {\n if (this$static.allowShorter || maxl == 0) {\n this$static.depth1 -= maxl;\n ret = $initPhase2Pre(this$static);\n this$static.depth1 += maxl;\n return ret;\n } else {\n return 1;\n }\n }\n skipMoves = getSkipMoves(fromInt(ssym));\n for (axis_0 = 0; axis_0 < 18; axis_0 += 3) {\n if (axis_0 == lm || axis_0 == lm - 9) {\n continue;\n }\n for (power = 0; power < 3; power++) {\n m = axis_0 + power;\n if (\n (this$static.isRec &&\n m != this$static.move[this$static.depth1 - maxl]) ||\n (skipMoves != 0 && (skipMoves & (1 << m)) != 0)\n ) {\n continue;\n }\n prun = $doMovePrun(this$static.nodeUD[maxl], node, m);\n if (prun > maxl) {\n break;\n } else if (prun == maxl) {\n continue;\n }\n prun = $doMovePrunConj(this$static.nodeUD[maxl], node, m);\n if (prun > maxl) {\n break;\n } else if (prun == maxl) {\n continue;\n }\n this$static.move[this$static.depth1 - maxl] = m;\n this$static.valid1 = min_0(this$static.valid1, this$static.depth1 - maxl);\n ret = $phase1(\n this$static,\n this$static.nodeUD[maxl],\n ssym & toInt(($clinit_CubieCube(), moveCubeSym)[m]),\n maxl - 1,\n axis_0,\n );\n if (ret == 0) {\n return 0;\n } else if (ret >= 2) {\n break;\n }\n }\n }\n return 1;\n}\n\nfunction $phase1PreMoves(this$static, maxl, lm, cc, ssym) {\n var m, ret, skipMoves;\n this$static.preMoveLen = this$static.maxPreMoves - maxl;\n if (\n this$static.isRec\n ? this$static.depth1 == this$static.length1 - this$static.preMoveLen\n : this$static.preMoveLen == 0 || ((225207 >> lm) & 1) == 0\n ) {\n this$static.depth1 = this$static.length1 - this$static.preMoveLen;\n this$static.phase1Cubie[0] = cc;\n this$static.allowShorter =\n this$static.depth1 == MIN_P1LENGTH_PRE && this$static.preMoveLen != 0;\n if (\n $setWithPrun(\n this$static.nodeUD[this$static.depth1 + 1],\n cc,\n this$static.depth1,\n ) &&\n $phase1(\n this$static,\n this$static.nodeUD[this$static.depth1 + 1],\n ssym,\n this$static.depth1,\n -1,\n ) == 0\n ) {\n return 0;\n }\n }\n if (\n maxl == 0 ||\n this$static.preMoveLen + MIN_P1LENGTH_PRE >= this$static.length1\n ) {\n return 1;\n }\n skipMoves = getSkipMoves(fromInt(ssym));\n (maxl == 1 ||\n this$static.preMoveLen + 1 + MIN_P1LENGTH_PRE >= this$static.length1) &&\n (skipMoves |= 225207);\n lm = ~~(lm / 3) * 3;\n for (m = 0; m < 18; m++) {\n if (m == lm || m == lm - 9 || m == lm + 9) {\n m += 2;\n continue;\n }\n if (\n (this$static.isRec &&\n m != this$static.preMoves[this$static.maxPreMoves - maxl]) ||\n (skipMoves & (1 << m)) != 0\n ) {\n continue;\n }\n CornMult(\n ($clinit_CubieCube(), moveCube)[m],\n cc,\n this$static.preMoveCubes[maxl],\n );\n EdgeMult(moveCube[m], cc, this$static.preMoveCubes[maxl]);\n this$static.preMoves[this$static.maxPreMoves - maxl] = m;\n ret = $phase1PreMoves(\n this$static,\n maxl - 1,\n m,\n this$static.preMoveCubes[maxl],\n ssym & toInt(moveCubeSym[m]),\n );\n if (ret == 0) {\n return 0;\n }\n }\n return 1;\n}\n\nfunction $phase2(this$static, edge, esym, corn, csym, mid, maxl, depth, lm) {\n var corni, cornx, csymx, edgei, edgex, esymx, m, midx, moveMask, prun, ret;\n if (edge == 0 && corn == 0 && mid == 0) {\n return maxl;\n }\n moveMask = ($clinit_Util(), ckmv2bit)[lm];\n for (m = 0; m < 10; m++) {\n if (((moveMask >> m) & 1) != 0) {\n m += (66 >> m) & 3;\n continue;\n }\n midx = ($clinit_CoordCube(), MPermMove)[mid][m];\n cornx = CPermMove[corn][($clinit_CubieCube(), SymMoveUD)[csym][m]];\n csymx = SymMult[cornx & 15][csym];\n cornx >>= 4;\n edgex = EPermMove[edge][SymMoveUD[esym][m]];\n esymx = SymMult[edgex & 15][esym];\n edgex >>= 4;\n edgei = getPermSymInv(edgex, esymx, false);\n corni = getPermSymInv(cornx, csymx, true);\n prun = getPruning(\n EPermCCombPPrun,\n (edgei >> 4) * 140 +\n CCombPConj[Perm2CombP[corni >> 4] & 255][\n SymMultInv[edgei & 15][corni & 15]\n ],\n );\n if (prun > maxl + 1) {\n return maxl - prun + 1;\n } else if (prun >= maxl) {\n m += (66 >> m) & 3 & (maxl - prun);\n continue;\n }\n prun = max_0(\n getPruning(MCPermPrun, cornx * 24 + MPermConj[midx][csymx]),\n getPruning(\n EPermCCombPPrun,\n edgex * 140 +\n CCombPConj[Perm2CombP[cornx] & 255][SymMultInv[esymx][csymx]],\n ),\n );\n if (prun >= maxl) {\n m += (66 >> m) & 3 & (maxl - prun);\n continue;\n }\n ret = $phase2(\n this$static,\n edgex,\n esymx,\n cornx,\n csymx,\n midx,\n maxl - 1,\n depth + 1,\n m,\n );\n if (ret >= 0) {\n this$static.move[depth] = ud2std[m];\n return ret;\n }\n if (ret < -2) {\n break;\n }\n ret < -1 && (m += (66 >> m) & 3);\n }\n return -1;\n}\n\nfunction $search(this$static) {\n for (\n this$static.length1 = this$static.isRec ? this$static.length1 : 0;\n this$static.length1 < this$static.solLen;\n this$static.length1++\n ) {\n this$static.maxDep2 = min_0(\n MAX_DEPTH2,\n this$static.solLen - this$static.length1 - 1,\n );\n for (\n this$static.urfIdx = this$static.isRec ? this$static.urfIdx : 0;\n this$static.urfIdx < 6;\n this$static.urfIdx++\n ) {\n if ((this$static.conjMask & (1 << this$static.urfIdx)) != 0) {\n continue;\n }\n if (\n $phase1PreMoves(\n this$static,\n this$static.maxPreMoves,\n -30,\n this$static.urfCubieCube[this$static.urfIdx],\n toInt(and(this$static.selfSym, { l: $intern_20, m: 0, h: 0 })),\n ) == 0\n ) {\n return !this$static.solution\n ? \"Error 8\"\n : $toString_2(this$static.solution);\n }\n }\n }\n return !this$static.solution ? \"Error 7\" : $toString_2(this$static.solution);\n}\n\nfunction $solution(this$static, facelets) {\n var check;\n check = $verify_0(this$static, facelets);\n if (check != 0) {\n return \"Error \" + (check < 0 ? -check : check);\n }\n this$static.solLen = 22;\n this$static.probe = { l: 0, m: 0, h: 0 };\n this$static.probeMax = { l: 3531008, m: 23, h: 0 };\n this$static.probeMin = { l: 0, m: 0, h: 0 };\n this$static.verbose = 0;\n this$static.solution = null;\n this$static.isRec = false;\n init_0(false);\n $initSearch(this$static);\n return $search(this$static);\n}\n\nfunction $verify_0(this$static, facelets) {\n var center, count, f, i;\n count = 0;\n f = initDim(B_classLit, $intern_30, 0, 54, 7, 1);\n // try {\n center = _String(\n initValues(getClassLiteralForArray(C_classLit, 1), $intern_26, 0, 7, [\n facelets.charCodeAt(4),\n facelets.charCodeAt(13),\n facelets.charCodeAt(22),\n facelets.charCodeAt(31),\n facelets.charCodeAt(40),\n facelets.charCodeAt(49),\n ]),\n );\n for (i = 0; i < 54; i++) {\n f[i] =\n ($indexOf_0(center, fromCodePoint(facelets.charCodeAt(i))) << 24) >> 24;\n if (f[i] == -1) {\n return -1;\n }\n count += 1 << (f[i] << 2);\n }\n // } catch ($e0) {\n // $e0 = wrap($e0);\n // if (instanceOf($e0, 9)) {\n // return -1;\n // } else throw unwrap($e0);\n // }\n if (count != 10066329) {\n return -1;\n }\n toCubieCube(f, this$static.cc);\n return $verify(this$static.cc);\n}\n\nfunction Search() {\n var i, i0, i1;\n this.move = initDim(I_classLit, $intern_27, 0, 31, 7, 1);\n this.nodeUD = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.nodeRL = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.nodeFB = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 21,\n 0,\n 1,\n );\n this.cc = new CubieCube();\n this.urfCubieCube = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 6,\n 0,\n 1,\n );\n this.urfCoordCube = initDim(\n Lorg_cubing_min2phase_client_CoordCube_2_classLit,\n $intern_3,\n 31,\n 6,\n 0,\n 1,\n );\n this.phase1Cubie = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 21,\n 0,\n 1,\n );\n this.preMoveCubes = initDim(\n Lorg_cubing_min2phase_client_CubieCube_2_classLit,\n $intern_3,\n 7,\n 21,\n 0,\n 1,\n );\n this.preMoves = initDim(I_classLit, $intern_27, 0, 20, 7, 1);\n for (i0 = 0; i0 < 21; i0++) {\n this.nodeUD[i0] = new CoordCube();\n this.nodeRL[i0] = new CoordCube();\n this.nodeFB[i0] = new CoordCube();\n this.phase1Cubie[i0] = new CubieCube();\n }\n for (i1 = 0; i1 < 6; i1++) {\n this.urfCubieCube[i1] = new CubieCube();\n this.urfCoordCube[i1] = new CoordCube();\n }\n for (i = 0; i < 20; i++) {\n this.preMoveCubes[i + 1] = new CubieCube();\n }\n}\n\ndefineClass(72, 1, {}, Search);\n_.allowShorter = false;\n_.conjMask = 0;\n_.depth1 = 0;\n_.isRec = false;\n_.length1 = 0;\n_.maxDep2 = 0;\n_.maxPreMoves = 0;\n_.preMoveLen = 0;\n_.probe = { l: 0, m: 0, h: 0 };\n_.probeMax = { l: 0, m: 0, h: 0 };\n_.probeMin = { l: 0, m: 0, h: 0 };\n_.selfSym = { l: 0, m: 0, h: 0 };\n_.solLen = 0;\n_.urfIdx = 0;\n_.valid1 = 0;\n_.verbose = 0;\nvar MAX_DEPTH2 = 12,\n MIN_P1LENGTH_PRE = 7;\nlet $clinit_Util_ran = false;\nfunction $clinit_Util() {\n if ($clinit_Util_ran) {\n return;\n }\n $clinit_Util_ran = true;\n var i, i0, i1, ix, j, jx;\n cornerFacelet = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [8, 9, 20],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [6, 18, 38],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [0, 36, 47],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [2, 45, 11],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [29, 26, 15],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [27, 44, 24],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [33, 53, 42],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [35, 17, 51],\n ),\n ],\n );\n edgeFacelet = initValues(\n getClassLiteralForArray(B_classLit, 2),\n $intern_3,\n 10,\n 0,\n [\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [5, 10],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [7, 19],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [3, 37],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [1, 46],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [32, 16],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [28, 25],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [30, 43],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [34, 52],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [23, 12],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [21, 41],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [50, 39],\n ),\n initValues(\n getClassLiteralForArray(B_classLit, 1),\n $intern_30,\n 0,\n 7,\n [48, 14],\n ),\n ],\n );\n Cnk = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [13, 13], 2);\n move2str = initValues(\n getClassLiteralForArray(Ljava_lang_String_2_classLit, 1),\n $intern_3,\n 2,\n 4,\n [\n \"U \",\n \"U2\",\n \"U'\",\n \"R \",\n \"R2\",\n \"R'\",\n \"F \",\n \"F2\",\n \"F'\",\n \"D \",\n \"D2\",\n \"D'\",\n \"L \",\n \"L2\",\n \"L'\",\n \"B \",\n \"B2\",\n \"B'\",\n ],\n );\n ud2std = initValues(\n getClassLiteralForArray(I_classLit, 1),\n $intern_27,\n 0,\n 7,\n [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 3, 5, 6, 8, 12, 14, 15, 17],\n );\n std2ud = initDim(I_classLit, $intern_27, 0, 18, 7, 1);\n ckmv2bit = initDim(I_classLit, $intern_27, 0, 11, 7, 1);\n for (i0 = 0; i0 < 18; i0++) {\n std2ud[ud2std[i0]] = i0;\n }\n for (i1 = 0; i1 < 10; i1++) {\n ix = ~~(ud2std[i1] / 3);\n ckmv2bit[i1] = 0;\n for (j = 0; j < 10; j++) {\n jx = ~~(ud2std[j] / 3);\n ckmv2bit[i1] |= (ix == jx || (ix % 3 == jx % 3 && ix >= jx) ? 1 : 0) << j;\n }\n }\n ckmv2bit[10] = 0;\n for (i = 0; i < 13; i++) {\n Cnk[i][0] = Cnk[i][i] = 1;\n for (j = 1; j < i; j++) {\n Cnk[i][j] = Cnk[i - 1][j - 1] + Cnk[i - 1][j];\n }\n }\n}\n\nfunction getComb(arr, mask, isEdge) {\n $clinit_Util();\n var end, i, idxC, perm, r;\n end = arr.length - 1;\n idxC = 0;\n r = 4;\n for (i = end; i >= 0; i--) {\n perm = getVal(arr[i], isEdge);\n (perm & 12) == mask && (idxC += Cnk[i][r--]);\n }\n return idxC;\n}\n\nfunction getNParity(idx, n) {\n $clinit_Util();\n var i, p;\n p = 0;\n for (i = n - 2; i >= 0; i--) {\n p ^= idx % (n - i);\n idx = ~~(idx / (n - i));\n }\n return p & 1;\n}\n\nfunction getNPerm(arr, n, isEdge) {\n $clinit_Util();\n var i, idx, v, val;\n idx = 0;\n val = { l: 1323536, m: 2777561, h: 1043915 };\n for (i = 0; i < n - 1; i++) {\n v = getVal(arr[i], isEdge) << 2;\n idx = (n - i) * idx + toInt(and(shr(val, v), { l: 15, m: 0, h: 0 }));\n val = sub_0(val, shl({ l: 1118480, m: 279620, h: 69905 }, v));\n }\n return idx;\n}\n\nfunction getVal(val0, isEdge) {\n return isEdge ? val0 >> 1 : val0 & 7;\n}\n\nfunction setComb(arr, idxC, mask, isEdge) {\n $clinit_Util();\n var end, fill, i, r;\n end = arr.length - 1;\n r = 4;\n fill = end;\n for (i = end; i >= 0; i--) {\n if (idxC >= Cnk[i][r]) {\n idxC -= Cnk[i][r--];\n arr[i] = setVal(arr[i], r | mask, isEdge);\n } else {\n (fill & 12) == mask && (fill -= 4);\n arr[i] = setVal(arr[i], fill--, isEdge);\n }\n }\n}\n\nfunction setNPerm(arr, idx, n, isEdge) {\n $clinit_Util();\n var extract, i, m, p, v, val;\n val = { l: 1323536, m: 2777561, h: 1043915 };\n extract = { l: 0, m: 0, h: 0 };\n for (p = 2; p <= n; p++) {\n extract = or(shl(extract, 4), fromInt(idx % p));\n idx = ~~(idx / p);\n }\n for (i = 0; i < n - 1; i++) {\n v = (toInt(extract) & 15) << 2;\n extract = shr(extract, 4);\n arr[i] = setVal(\n arr[i],\n toInt(and(shr(val, v), { l: 15, m: 0, h: 0 })),\n isEdge,\n );\n m = sub_0(shl({ l: 1, m: 0, h: 0 }, v), { l: 1, m: 0, h: 0 });\n val = or(\n and(val, m),\n and(shr(val, 4), {\n l: ~m.l & $intern_9,\n m: ~m.m & $intern_9,\n h: ~m.h & $intern_10,\n }),\n );\n }\n arr[n - 1] = setVal(\n arr[n - 1],\n toInt(and(val, { l: 15, m: 0, h: 0 })),\n isEdge,\n );\n}\n\nfunction setVal(val0, val, isEdge) {\n return ((isEdge ? (val << 1) | (val0 & 1) : val | (val0 & -8)) << 24) >> 24;\n}\n\nfunction toCubieCube(f, ccRet) {\n $clinit_Util();\n var col1, col2, i, i0, i1, i2, j, ori;\n for (i0 = 0; i0 < 8; i0++) {\n ccRet.ca[i0] = 0;\n }\n for (i1 = 0; i1 < 12; i1++) {\n ccRet.ea[i1] = 0;\n }\n for (i2 = 0; i2 < 8; i2++) {\n for (ori = 0; ori < 3; ori++) {\n if (f[cornerFacelet[i2][ori]] == 0 || f[cornerFacelet[i2][ori]] == 3)\n break;\n }\n col1 = f[cornerFacelet[i2][(ori + 1) % 3]];\n col2 = f[cornerFacelet[i2][(ori + 2) % 3]];\n for (j = 0; j < 8; j++) {\n if (\n col1 == ~~(cornerFacelet[j][1] / 9) &&\n col2 == ~~(cornerFacelet[j][2] / 9)\n ) {\n ccRet.ca[i2] = narrow_byte((ori % 3 << 3) | j);\n break;\n }\n }\n }\n for (i = 0; i < 12; i++) {\n for (j = 0; j < 12; j++) {\n if (\n f[edgeFacelet[i][0]] == ~~(edgeFacelet[j][0] / 9) &&\n f[edgeFacelet[i][1]] == ~~(edgeFacelet[j][1] / 9)\n ) {\n ccRet.ea[i] = narrow_byte(j << 1);\n break;\n }\n if (\n f[edgeFacelet[i][0]] == ~~(edgeFacelet[j][1] / 9) &&\n f[edgeFacelet[i][1]] == ~~(edgeFacelet[j][0] / 9)\n ) {\n ccRet.ea[i] = narrow_byte((j << 1) | 1);\n break;\n }\n }\n }\n}\n\nvar Cnk, ckmv2bit, cornerFacelet, edgeFacelet, move2str, std2ud, ud2std;\nfunction $appendSolMove(this$static, curMove) {\n var axisCur, axisLast, pow_0;\n if (this$static.length_0 == 0) {\n this$static.moves[this$static.length_0++] = curMove;\n return;\n }\n axisCur = ~~(curMove / 3);\n axisLast = ~~(this$static.moves[this$static.length_0 - 1] / 3);\n if (axisCur == axisLast) {\n pow_0 =\n ((curMove % 3) + (this$static.moves[this$static.length_0 - 1] % 3) + 1) %\n 4;\n pow_0 == 3\n ? --this$static.length_0\n : (this$static.moves[this$static.length_0 - 1] = axisCur * 3 + pow_0);\n return;\n }\n if (\n this$static.length_0 > 1 &&\n axisCur % 3 == axisLast % 3 &&\n axisCur == ~~(this$static.moves[this$static.length_0 - 2] / 3)\n ) {\n pow_0 =\n ((curMove % 3) + (this$static.moves[this$static.length_0 - 2] % 3) + 1) %\n 4;\n if (pow_0 == 3) {\n this$static.moves[this$static.length_0 - 2] =\n this$static.moves[this$static.length_0 - 1];\n --this$static.length_0;\n } else {\n this$static.moves[this$static.length_0 - 2] = axisCur * 3 + pow_0;\n }\n return;\n }\n this$static.moves[this$static.length_0++] = curMove;\n}\n\nfunction $setArgs(this$static, verbose, urfIdx, depth1) {\n this$static.verbose = verbose;\n this$static.urfIdx = urfIdx;\n this$static.depth1 = depth1;\n}\n\nfunction $toString_2(this$static) {\n var s, sb, urf;\n sb = new StringBuffer();\n urf =\n (this$static.verbose & 2) != 0\n ? (this$static.urfIdx + 3) % 6\n : this$static.urfIdx;\n if (urf < 3) {\n for (s = 0; s < this$static.length_0; s++) {\n (this$static.verbose & 1) != 0 &&\n s == this$static.depth1 &&\n ((sb.string += \". \"), sb);\n $append(\n $append_1(\n sb,\n ($clinit_Util(), move2str)[\n ($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]\n ],\n ),\n );\n }\n } else {\n for (s = this$static.length_0 - 1; s >= 0; s--) {\n $append(\n $append_1(\n sb,\n ($clinit_Util(), move2str)[\n ($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]\n ],\n ),\n );\n (this$static.verbose & 1) != 0 &&\n s == this$static.depth1 &&\n ((sb.string += \". \"), sb);\n }\n }\n return sb.string;\n}\n\nfunction Util$Solution() {\n this.moves = initDim(I_classLit, $intern_27, 0, 31, 7, 1);\n}\n\ndefineClass(150, 1, {}, Util$Solution);\n_.depth1 = 0;\n_.length_0 = 0;\n_.urfIdx = 0;\n_.verbose = 0;\nvar I_classLit = createForPrimitive(\"int\", \"I\");\ncreateForClass(\"com.google.gwt.lang\", \"CollapsedPropertyHolder\", 252);\n\ncreateForClass(\"com.google.gwt.lang\", \"JavaClassHierarchySetupUtil\", 254);\nconst Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass(\n \"com.google.gwt.lang\",\n \"LongLibBase/LongEmul\",\n null,\n);\ncreateForClass(\"com.google.gwt.lang\", \"ModuleUtils\", 257);\nvar B_classLit = createForPrimitive(\"byte\", \"B\"),\n J_classLit = createForPrimitive(\"long\", \"J\"),\n C_classLit = createForPrimitive(\"char\", \"C\");\ncreateForClass(\"com.google.gwt.user.client.rpc\", \"XsrfToken\", null),\n createForInterface(\"java.util\", \"Map/Entry\");\n\nexport const initialize = function () {\n init_0(false);\n};\nexport const solveState = function (s) {\n return $solution(new Search(), s);\n};\n", "/*\n\nFace order:\n\n U\nLFRB\n D\n\n | 0| 1| 2|\n | 3| 4| 5|\n | 6| 7| 8|\n| 9|10|11|18|19|20|27|28|29|36|37|38|\n|12|13|14|21|22|23|30|31|32|39|40|41|\n|15|16|17|24|25|26|33|34|35|42|43|44|\n |45|46|47|\n |48|49|50|\n |51|52|53|\n*/\n\nimport type { Transformation } from \"../../../../../kpuzzle\";\n\nconst reidEdgeOrder = \"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \");\nconst reidCornerOrder = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\nconst centerOrder = \"U L F R B D\".split(\" \");\n\n// const stickers = [reidEdgeOrder, reidCornerOrder, centerOrder];\n\n// /*\n// |1 20|0 20|1 10|\n// |0 30|2 00|0 10|\n// |1 30|0 00|1 00|\n// |1 22|0 31|1 31|1 32|0 01|1 01|1 02|0 11|1 11|1 12|0 21|1 21|\n// |0111|2 10|0 91|0 90|2 20|0 80|0 81|2 30|0101|0100|2 40|0110|\n// |1 61|0 71|1 52|1 51|0 41|1 42|1 41|0 51|1 72|1 71|0 61|1 62|\n// |1 50|0 40|1 40|\n// |0 70|2 50|0 50|\n// |1 60|0 60|1 70|\n// */\n\nconst map: [number, number, number][] = [\n [1, 2, 0],\n [0, 2, 0],\n [1, 1, 0],\n [0, 3, 0],\n [2, 0, 0],\n [0, 1, 0],\n [1, 3, 0],\n [0, 0, 0],\n [1, 0, 0],\n [1, 0, 2],\n [0, 1, 1],\n [1, 1, 1],\n [0, 8, 1],\n [2, 3, 0],\n [0, 10, 1],\n [1, 4, 1],\n [0, 5, 1],\n [1, 7, 2],\n [1, 3, 2],\n [0, 0, 1],\n [1, 0, 1],\n [0, 9, 0],\n [2, 2, 0],\n [0, 8, 0],\n [1, 5, 1],\n [0, 4, 1],\n [1, 4, 2],\n [1, 5, 0],\n [0, 4, 0],\n [1, 4, 0],\n [0, 7, 0],\n [2, 5, 0],\n [0, 5, 0],\n [1, 6, 0],\n [0, 6, 0],\n [1, 7, 0],\n [1, 2, 2],\n [0, 3, 1],\n [1, 3, 1],\n [0, 11, 1],\n [2, 1, 0],\n [0, 9, 1],\n [1, 6, 1],\n [0, 7, 1],\n [1, 5, 2],\n [1, 1, 2],\n [0, 2, 1],\n [1, 2, 1],\n [0, 10, 0],\n [2, 4, 0],\n [0, 11, 0],\n [1, 7, 1],\n [0, 6, 1],\n [1, 6, 2],\n];\n\nfunction rotateLeft(s: string, i: number): string {\n return s.slice(i) + s.slice(0, i);\n}\n\nfunction toReid333Struct(state: Transformation): string[][] {\n const output: string[][] = [[], []];\n for (let i = 0; i < 6; i++) {\n if (state[\"CENTERS\"].permutation[i] !== i) {\n throw new Error(\"non-oriented puzzles are not supported\");\n }\n }\n for (let i = 0; i < 12; i++) {\n output[0].push(\n rotateLeft(\n reidEdgeOrder[state[\"EDGES\"].permutation[i]],\n state[\"EDGES\"].orientation[i],\n ),\n );\n }\n for (let i = 0; i < 8; i++) {\n output[1].push(\n rotateLeft(\n reidCornerOrder[state[\"CORNERS\"].permutation[i]],\n state[\"CORNERS\"].orientation[i],\n ),\n );\n }\n output.push(centerOrder);\n return output;\n}\n\n// function toReid333String(state: Transformation): string {\n// return toReid333Struct(state)\n// .map((l) => l.join(\" \"))\n// .join(\" \");\n// }\n\nexport function toMin2PhaseState(state: Transformation): string {\n const reid = toReid333Struct(state);\n return map.map(([orbit, perm, ori]) => reid[orbit][perm][ori]).join(\"\");\n}\n", "import { Move } from \"../../../../../alg\";\nimport {\n KPuzzle,\n areOrbitTransformationsEquivalent,\n KPuzzleDefinition,\n Transformation,\n} from \"../../../../../kpuzzle\";\n\nexport function isEquivalentTranformationIgnoringCENTERS(\n def: KPuzzleDefinition,\n t1: Transformation,\n t2: Transformation,\n): boolean {\n for (const orbitName in def.orbits) {\n if (\n !areOrbitTransformationsEquivalent(def, orbitName, t1, t2, {\n ignoreOrientation: orbitName === \"CENTERS\",\n })\n ) {\n return false;\n }\n }\n return true;\n}\n\nexport function passesFilter(\n def: KPuzzleDefinition,\n state: Transformation,\n): boolean {\n const kpuzzle = new KPuzzle(def);\n if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {\n return false;\n }\n\n for (const face of \"ULFRBD\") {\n for (let amount = 1; amount < 4; amount++) {\n kpuzzle.reset();\n kpuzzle.applyMove(new Move(face, amount));\n if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n// TODO: implement tests\n// {\n// const def = await puzzles[\"3x3x3\"].def();\n// const kpuzzle = new KPuzzle(def);\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"R\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"D\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.reset();\n// kpuzzle.applyAlg(parse(\"(R' U' R U')5\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// }\n", "// TODO: Verify\nexport const sgs3x3x3: string[][] = [\n [\n \"R U'\",\n \"R2 B\", //\n \"D2 B2\",\n \"D' L B'\", //\n \"R' U'\",\n \"B\", //\n \"D B2\",\n \"R' B\", //\n \"L' U\",\n \"L2 B'\", //\n \"B2\",\n \"D L B'\", //\n \"L U\",\n \"B'\", //\n \"U'\",\n \"R B\", //\n \"D' B2\",\n \"L B'\", //\n \"U2\",\n \"U L' B'\", //\n \"\",\n \"U' L' B'\", //\n \"U\",\n \"L' B'\",\n ],\n [\n \"F2 L2\",\n \"F' L'\",\n \"R' F L2\", //\n \"D' L2\",\n \"F L2\",\n \"F2 L'\", //\n \"R' F' L'\",\n \"R2 F L2\",\n \"R2 F2 L'\", //\n \"L2\",\n \"F L'\",\n \"D' L\", //\n \"D2 L2\",\n \"R2 F' L'\",\n \"D L\", //\n \"\",\n \"L2 F L'\",\n \"L F' L2\", //\n \"L F L'\",\n \"F' L2\",\n \"L'\", //\n \"D L2\",\n \"D F L'\",\n \"L\",\n ],\n [\n \"R B U2 B'\",\n \"R2 B U' B'\", //\n \"F2 B U B'\",\n \"F B2 L' B2\", //\n \"B2 L B2\",\n \"B U' B'\", //\n \"R2 B U2 B'\",\n \"R' B U' B'\", //\n \"B2 L' B2\",\n \"F B U B'\", //\n \"B2 U' B2\",\n \"B' L B\", //\n \"L F' B D' B'\",\n \"B' U' B2 D B'\", //\n \"B U2 B'\",\n \"R B U' B'\", //\n \"B2 L2 B2\",\n \"D' B' L B\", //\n \"B U B'\",\n \"F' B2 L' B2\", //\n \"\",\n \"B2 L' B' U' B'\",\n ],\n [\n \"U F2 L2 U'\",\n \"F' U L' U'\", //\n \"F2 U L' U'\",\n \"U F L2 U'\", //\n \"U2 B2 U2\",\n \"R' U' B U\", //\n \"D2 U L U'\",\n \"D U2 B' U2\", //\n \"U L2 U'\",\n \"F U L' U'\", //\n \"D U L U'\",\n \"U2 B' U2\", //\n \"\",\n \"U2 B' U' L' U'\", //\n \"U2 L' U2\",\n \"U' B U\", //\n \"U L U'\",\n \"D' U2 B' U2\", //\n \"U L' U'\",\n \"U2 B U2\",\n ],\n [\n \"R' D' F2\",\n \"F'\", //\n \"F2\",\n \"D R F'\", //\n \"R D' F2\",\n \"R2 F'\", //\n \"D' F2\",\n \"R F'\", //\n \"F2 R' D' F2\",\n \"F\", //\n \"D2 F2\",\n \"D' R F'\", //\n \"R2 D' F2\",\n \"R' F'\", //\n \"D F2\",\n \"D2 R F'\", //\n \"\",\n \"F R' D' F2\",\n ],\n [\n \"R' D2 F' D F\",\n \"R F2 R2 F2\",\n \"R2 F' D2 F\", //\n \"F' R2 D2 F\",\n \"L D' L'\",\n \"D F' D2 F\", //\n \"F2 R2 F2\",\n \"R F' D2 F\",\n \"F' R2 D' F\", //\n \"F' R' D2 F\",\n \"F2 R' F2\",\n \"L D L'\", //\n \"F' R D' F\",\n \"F2 R F2\",\n \"F' D2 F\", //\n \"\",\n \"L D2 R D' L'\",\n \"F' D2 F' R F2\", //\n \"D2 R2 F2 R2 F2\",\n \"D F' D' F\",\n \"F' D F\",\n ],\n [\n \"U F2 U'\",\n \"R U F' U'\", //\n \"D R U F2 U'\",\n \"U F U'\", //\n \"R2 U F2 U'\",\n \"R' U F' U'\", //\n \"R U F2 U'\",\n \"R2 U F' U'\", //\n \"\",\n \"U L D L' F U'\", //\n \"F2 D' R D F2\",\n \"D2 U F U'\", //\n \"R' U F2 U'\",\n \"U F' U'\", //\n \"F2 D2 R D2 F2\",\n \"D U F U'\",\n ],\n [\n \"R2\",\n \"R' B' D B\", //\n \"D R'\",\n \"F' R2 F\", //\n \"\",\n \"R B' D B\", //\n \"R'\",\n \"B' D B\", //\n \"D' R'\",\n \"D2 F' R2 F\", //\n \"R\",\n \"R2 B' D B\", //\n \"D2 R'\",\n \"B' D' B\",\n ],\n [\n \"R2 D' R2\",\n \"F' R' F R\",\n \"R D' R2 D R'\", //\n \"D2 R2 D2 R2\",\n \"R' D' F' R F\",\n \"U F D F' U'\", //\n \"\",\n \"R2 D2 B R' B' R'\",\n \"R' F D' F2 R F\", //\n \"R2 D R2\",\n \"F2 U F U' F\",\n \"R' D F' R F\", //\n \"D R2 D2 R2\",\n \"U F D' F' U'\",\n \"D R' D2 F' R F\", //\n \"R2 D2 R2\",\n \"U F D2 F' U'\",\n \"R' D2 F' R F\",\n ],\n [\n \"B R B'\",\n \"F D F' B R2 B'\", //\n \"D B R2 B'\",\n \"D2 B R' B'\", //\n \"B R2 B'\",\n \"D B R' B'\", //\n \"D' B R2 B'\",\n \"B R' B'\", //\n \"\",\n \"B R2 B' D B R' B'\", //\n \"D2 B R2 B'\",\n \"D' B R' B'\",\n ],\n [\n \"\",\n \"R' D R F D2 F'\", //\n \"R' D R\",\n \"D F D' F'\", //\n \"R F' R' F\",\n \"F D' F'\", //\n \"R' D' R\",\n \"F D2 F'\", //\n \"R' D2 R\",\n \"F D F'\",\n ],\n [\n \"\",\n \"F2 D2 R F' R' D2 F' D2 F'\",\n \"F2 D2 F' D' F D' F' D2 F'\", //\n \"F2 D F2 D F2 D2 F2\",\n \"D2 F L D2 L' D2 F'\",\n \"D F D2 L D2 L' F'\", //\n \"R' D B' D2 B D' R\",\n \"R' D2 B' D2 B R\",\n \"F D2 F' D F D F'\", //\n \"F D' L D2 L' D F'\",\n \"B D' F D B' D' F'\",\n \"F D2 L D2 L' F'\", //\n \"F D' L D L' D F'\",\n \"F L D2 L' D2 F'\",\n \"R' B' D2 B D2 R\",\n ],\n [\n \"D'\",\n \"F L D L' D' F'\", //\n \"D2\",\n \"L B D B' D' L'\", //\n \"D\",\n \"B' L' D' L D B\", //\n \"\",\n \"D F L D L' D' F'\",\n ],\n [\n \"F' D2 F D F' D F\",\n \"F' D' R' D R F\", //\n \"F' R' D' R D F\",\n \"B D R D' R' B'\", //\n \"\",\n \"D B' D' L' D L B\",\n ],\n [\n \"D F D F' D F D2 F'\",\n \"F' U2 B' R' B U2 F' L F' L' F'\", //\n \"\",\n \"D2 L D L2 F L F2 D F\",\n ],\n [\n \"L B' L' F L B L' F'\",\n \"F2 U F' D2 F U' F' D2 F'\",\n \"D' F' D B D' F D B'\", //\n \"F L2 F R2 F' L2 F R2 F2\",\n \"D B D' F' D B' D' F\",\n \"R F L F' R' F L' F'\", //\n \"\",\n \"D2 B L' U2 L B' D2 B L' U2 L B'\",\n \"D2 F R' U2 R F' D2 F R' U2 R F'\", //\n \"R F L' F' R' F L F'\",\n \"D F D' B' D F' D' B\",\n \"L2 F2 L' B2 L F2 L' B2 L'\",\n ],\n [\n \"L B R' B' L' B R B'\",\n \"R' B R F' R' B' R F\",\n \"L D2 L U L' D2 L U' L2\", //\n \"\",\n \"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\n \"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\", //\n \"L B L' F L B' L' F'\",\n \"F' D2 F' U' F D2 F' U F2\",\n \"D' B' D F D' B D F'\",\n ],\n [\"\", \"D2 F' L U2 L' F D2 F' L U2 L' F\", \"D2 B' R U2 R' B D2 B' R U2 R' B\"],\n];\n", "import { Alg, AlgBuilder } from \"../../../../../alg\";\nimport { KPuzzle, Transformation } from \"../../../../../kpuzzle\";\nimport { puzzles } from \"../../../../../puzzles\";\nimport { mustBeInsideWorker } from \"../../../inside-worker\";\nimport { addOrientationSuffix } from \"../../addOrientationSuffix\";\nimport { initialize, solveState } from \"../../vendor/min2phase/gwt\";\nimport { randomChoiceFactory } from \"../../vendor/random-uint-below\";\nimport { toMin2PhaseState } from \"./convert\";\nimport { passesFilter } from \"./filter\";\nimport { sgs3x3x3 } from \"./legacy-sgs\";\n\nexport async function random333State(): Promise<Transformation> {\n const def = await puzzles[\"3x3x3\"].def();\n const kpuzzle = new KPuzzle(def);\n for (const piece of sgs3x3x3) {\n kpuzzle.applyAlg(\n Alg.fromString(((await randomChoiceFactory()) as any)(piece)),\n );\n }\n if (!passesFilter(def, kpuzzle.state)) {\n return random333State();\n }\n return kpuzzle.state;\n}\n\nexport async function solve333(s: Transformation): Promise<Alg> {\n mustBeInsideWorker();\n return Alg.fromString(solveState(toMin2PhaseState(s)));\n}\n\nexport async function random333Scramble(): Promise<Alg> {\n return solve333(await random333State());\n}\n\nexport async function initialize333(): Promise<void> {\n initialize();\n}\n\nconst randomSuffixes = [\n [null, \"Rw\", \"Rw2\", \"Rw'\", \"Fw\", \"Fw'\"],\n [null, \"Dw\", \"Dw2\", \"Dw'\"],\n];\n\nexport async function random333OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random333Scramble(), randomSuffixes);\n}\n\nconst extraBit = new Alg(\"R' U' F\");\nexport async function random333FewestMovesScramble(): Promise<Alg> {\n const algBuilder = new AlgBuilder();\n const unorientedScramble = await random333Scramble();\n algBuilder.experimentalPushAlg(extraBit);\n // TODO:Avoid cancellable moves.\n algBuilder.experimentalPushAlg(unorientedScramble);\n algBuilder.experimentalPushAlg(extraBit);\n return algBuilder.toAlg();\n}\n"],
5
- "mappings": "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AA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,CAAC,IAAI,mCAAmC;AAAA;;;ACtR1C,gCAAgE;AAC9D,QAAM,MAAM,MAAM,QAAQ,SAAS;AACnC,QAAM,UAAU,IAAI,QAAQ;AAC5B,aAAW,SAAS,UAAU;AAC5B,YAAQ,SACN,IAAI,WAAa,OAAM,uBAA+B;AAAA;AAG1D,MAAI,CAAC,aAAa,KAAK,QAAQ,QAAQ;AACrC,WAAO;AAAA;AAET,SAAO,QAAQ;AAAA;AAyBjB,IAAM,WAAW,IAAI,IAAI;",
6
- "names": []
7
- }