cubing 0.23.0 → 0.24.0-pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{2x2x2.kpuzzle.json-JOGUSQ4N.js → 2x2x2.kpuzzle.json-U5KOZCMU.js} +11 -11
- package/dist/esm/2x2x2.kpuzzle.json-U5KOZCMU.js.map +7 -0
- package/dist/esm/{2x2x2.sgs.json-FRBWMMA7.js → 2x2x2.sgs.json-VLYEQLNB.js} +5 -5
- package/dist/esm/2x2x2.sgs.json-VLYEQLNB.js.map +7 -0
- package/dist/esm/{3d-Q4WSD4BC.js → 3d-KAC5GXA4.js} +4 -4
- package/dist/esm/{3d-Q4WSD4BC.js.map → 3d-KAC5GXA4.js.map} +0 -0
- package/dist/esm/bluetooth/index.js +39 -33
- package/dist/esm/bluetooth/index.js.map +2 -2
- package/dist/esm/{chunk-FK2SCC3Z.js → chunk-23FEDDYH.js} +33 -27
- package/dist/esm/chunk-23FEDDYH.js.map +7 -0
- package/dist/esm/{chunk-DK6PXBB2.js → chunk-25PPOENI.js} +66 -56
- package/dist/esm/chunk-25PPOENI.js.map +7 -0
- package/dist/esm/{chunk-XVZOMB6J.js → chunk-27KJGD3S.js} +15 -20
- package/dist/esm/chunk-27KJGD3S.js.map +7 -0
- package/dist/esm/{chunk-DPMEZY7V.js → chunk-DBWASN5Q.js} +19 -10
- package/dist/esm/chunk-DBWASN5Q.js.map +7 -0
- package/dist/esm/{chunk-PUPUQWJC.js → chunk-J2U2GRS4.js} +27 -32
- package/dist/esm/chunk-J2U2GRS4.js.map +7 -0
- package/dist/esm/{chunk-Z6X7HTPP.js → chunk-MQYHOXEK.js} +4 -4
- package/dist/esm/{chunk-Z6X7HTPP.js.map → chunk-MQYHOXEK.js.map} +2 -2
- package/dist/esm/chunk-PMAQZQHL.js +810 -0
- package/dist/esm/chunk-PMAQZQHL.js.map +7 -0
- package/dist/esm/{chunk-N3RNWU5T.js → chunk-PQKDEV4Z.js} +36 -51
- package/dist/esm/chunk-PQKDEV4Z.js.map +7 -0
- package/dist/esm/{chunk-JZWB7AIU.js → chunk-PYOHTUEC.js} +17 -10
- package/dist/esm/chunk-PYOHTUEC.js.map +7 -0
- package/dist/esm/chunk-W6AA6TVR.js +274 -0
- package/dist/esm/chunk-W6AA6TVR.js.map +7 -0
- package/dist/esm/{chunk-MLOCDLUF.js → chunk-YLKDBBMW.js} +13 -13
- package/dist/esm/{chunk-MLOCDLUF.js.map → chunk-YLKDBBMW.js.map} +2 -2
- package/dist/esm/{clock.kpuzzle.json-EKWRMHJM.js → clock.kpuzzle.json-J3YBOI3G.js} +7 -45
- package/dist/esm/clock.kpuzzle.json-J3YBOI3G.js.map +7 -0
- package/dist/esm/{entry-L6CE2HLF.js → entry-ZLEDRTCM.js} +172 -167
- package/dist/esm/entry-ZLEDRTCM.js.map +7 -0
- package/dist/esm/{fto.sgs.json-62YNULOK.js → fto.sgs.json-PUAEKD7W.js} +6 -14
- package/dist/esm/fto.sgs.json-PUAEKD7W.js.map +7 -0
- package/dist/esm/kpuzzle/index.js +5 -35
- package/dist/esm/megaminx.sgs.json-DPQBIFB6.js +16 -0
- package/dist/esm/{megaminx.sgs.json-PRL46G5J.js.map → megaminx.sgs.json-DPQBIFB6.js.map} +0 -0
- package/dist/esm/{module-entry-J2N3UZP7.js → module-entry-UAGINHYL.js} +2 -2
- package/dist/esm/{module-entry-J2N3UZP7.js.map → module-entry-UAGINHYL.js.map} +0 -0
- package/dist/esm/protocol/index.js +2 -1
- package/dist/esm/puzzle-geometry/index.js +3 -1
- package/dist/esm/puzzles/index.js +4 -4
- package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js → pyraminx.sgs.json-5UKE76QP.js} +5 -5
- package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js.map → pyraminx.sgs.json-5UKE76QP.js.map} +0 -0
- package/dist/esm/scramble/index.js +4 -4
- package/dist/esm/{scramble_444-JP3CWLJM.js → scramble_444-ZNWCGUX5.js} +4 -4
- package/dist/esm/{scramble_444-JP3CWLJM.js.map → scramble_444-ZNWCGUX5.js.map} +0 -0
- package/dist/esm/search/index.js +4 -4
- package/dist/esm/skewb.sgs.json-O2CG5ALM.js +16 -0
- package/dist/esm/{skewb.sgs.json-FWHYACJG.js.map → skewb.sgs.json-O2CG5ALM.js.map} +0 -0
- package/dist/esm/{sq1-hyperorbit.kpuzzle.json-N3FGCPML.js → sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js} +6 -6
- package/dist/esm/sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js.map +7 -0
- package/dist/esm/twisty/index.js +334 -227
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/worker-inside-generated-string-K4KJGMPV.js +3447 -0
- package/dist/esm/worker-inside-generated-string-K4KJGMPV.js.map +7 -0
- package/dist/types/alg/Alg.d.ts +0 -1
- package/dist/types/alg/Alg.spec.d.ts +0 -1
- package/dist/types/alg/AlgBuilder.d.ts +0 -1
- package/dist/types/alg/Serializable.d.ts +0 -1
- package/dist/types/alg/common.d.ts +0 -1
- package/dist/types/alg/debug.d.ts +0 -1
- package/dist/types/alg/example.d.ts +0 -1
- package/dist/types/alg/index.d.ts +0 -1
- package/dist/types/alg/is.d.ts +0 -1
- package/dist/types/alg/iteration.d.ts +0 -1
- package/dist/types/alg/keyboard.d.ts +0 -1
- package/dist/types/alg/limits.d.ts +0 -1
- package/dist/types/alg/operation.d.ts +0 -1
- package/dist/types/alg/operation.spec.d.ts +0 -1
- package/dist/types/alg/parse.d.ts +0 -1
- package/dist/types/alg/parse.spec.d.ts +0 -1
- package/dist/types/alg/test/alg-comparison.d.ts +0 -1
- package/dist/types/alg/test/alg.spec.d.ts +0 -1
- package/dist/types/alg/traversal.d.ts +0 -1
- package/dist/types/alg/units/QuantumWithAmount.d.ts +0 -1
- package/dist/types/alg/units/Unit.d.ts +0 -1
- package/dist/types/alg/units/containers/Commutator.d.ts +0 -1
- package/dist/types/alg/units/containers/Conjugate.d.ts +0 -1
- package/dist/types/alg/units/containers/Grouping.d.ts +0 -1
- package/dist/types/alg/units/index.d.ts +0 -1
- package/dist/types/alg/units/leaves/LineComment.d.ts +0 -1
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts +0 -1
- package/dist/types/alg/units/leaves/Move.d.ts +0 -1
- package/dist/types/alg/units/leaves/Move.spec.d.ts +0 -1
- package/dist/types/alg/units/leaves/Newline.d.ts +0 -1
- package/dist/types/alg/units/leaves/Pause.d.ts +0 -1
- package/dist/types/alg/url.d.ts +0 -1
- package/dist/types/alg/url.spec.d.ts +0 -1
- package/dist/types/alg/validation.d.ts +0 -1
- package/dist/types/alg/warnOnce.d.ts +0 -1
- package/dist/types/bluetooth/connect/index.d.ts +0 -1
- package/dist/types/bluetooth/debug.d.ts +0 -1
- package/dist/types/bluetooth/index.d.ts +0 -1
- package/dist/types/bluetooth/keyboard.d.ts +5 -5
- package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts +3 -3
- package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +3 -5
- package/dist/types/bluetooth/smart-puzzle/connect.d.ts +0 -1
- package/dist/types/bluetooth/smart-puzzle/endianness.d.ts +0 -1
- package/dist/types/bluetooth/smart-puzzle/gan.d.ts +5 -4
- package/dist/types/bluetooth/smart-puzzle/giiker.d.ts +3 -3
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts +0 -1
- package/dist/types/bluetooth/smart-puzzle/gocube.d.ts +0 -1
- package/dist/types/bluetooth/smart-robot/GanRobot.d.ts +0 -1
- package/dist/types/bluetooth/smart-robot/index.d.ts +0 -1
- package/dist/types/bluetooth/smart-timer/GanTimer.d.ts +0 -1
- package/dist/types/bluetooth/smart-timer/index.d.ts +0 -1
- package/dist/types/bluetooth/transformer.d.ts +0 -1
- package/dist/types/cubing.bundle-global.d.ts +0 -1
- package/dist/types/cubing.bundle-global.exports.d.ts +0 -1
- package/dist/types/esm-test-worker.d.ts +0 -1
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts +2 -3
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +0 -1
- package/dist/types/kpuzzle/3x3x3/puzzle-orientation.d.ts +4 -0
- package/dist/types/kpuzzle/KPuzzle.d.ts +21 -0
- package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +20 -0
- package/dist/types/kpuzzle/KState.d.ts +16 -0
- package/dist/types/kpuzzle/KTransformation.d.ts +20 -0
- package/dist/types/kpuzzle/calculate.d.ts +16 -0
- package/dist/types/kpuzzle/combine.d.ts +3 -0
- package/dist/types/kpuzzle/construct.d.ts +5 -0
- package/dist/types/kpuzzle/index.d.ts +6 -10
- package/dist/types/notation/CountAnimatedLeaves.d.ts +0 -1
- package/dist/types/notation/CountMoves.d.ts +0 -1
- package/dist/types/notation/index.d.ts +0 -1
- package/dist/types/protocol/binary/binary3x3x3.d.ts +5 -6
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts +0 -1
- package/dist/types/protocol/binary/hex.d.ts +0 -1
- package/dist/types/protocol/binary/hex.spec.d.ts +0 -1
- package/dist/types/protocol/binary/orbit-indexing.d.ts +0 -1
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts +0 -1
- package/dist/types/protocol/binary/puzzle-orientation.d.ts +4 -5
- package/dist/types/protocol/index.d.ts +0 -1
- package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts +0 -1
- package/dist/types/puzzle-geometry/Options.d.ts +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.d.ts +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +0 -1
- package/dist/types/puzzle-geometry/Perm.d.ts +0 -1
- package/dist/types/puzzle-geometry/PermOriSet.d.ts +4 -5
- package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts +0 -1
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +9 -3
- package/dist/types/puzzle-geometry/Quat.d.ts +0 -1
- package/dist/types/puzzle-geometry/Quat.spec.d.ts +0 -1
- package/dist/types/puzzle-geometry/SchreierSims.d.ts +0 -1
- package/dist/types/puzzle-geometry/index.d.ts +1 -1
- package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts +3 -2
- package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/index.d.ts +0 -1
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts +0 -1
- package/dist/types/puzzles/PuzzleLoader.d.ts +3 -3
- package/dist/types/puzzles/async/async-pg3d.d.ts +3 -3
- package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +2 -0
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts +2 -3
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts +1 -2
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/2x2x2/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/3x3x3/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts +1 -2
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/clock/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/fto/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/megaminx/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/pyraminx/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/implementations/square1/index.d.ts +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts +1 -2
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts +0 -1
- package/dist/types/puzzles/index.d.ts +1 -2
- package/dist/types/puzzles/stickerings/appearance.d.ts +6 -7
- package/dist/types/puzzles/stickerings/cube-stickerings.d.ts +0 -1
- package/dist/types/puzzles/stickerings/fto-stickerings.d.ts +0 -1
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts +0 -1
- package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts +0 -1
- package/dist/types/scramble/index.d.ts +0 -1
- package/dist/types/search/esm-test-worker.d.ts +0 -1
- package/dist/types/search/index.d.ts +0 -1
- package/dist/types/search/inside/api.d.ts +6 -7
- package/dist/types/search/inside/api.spec.d.ts +0 -1
- package/dist/types/search/inside/entry.d.ts +0 -1
- package/dist/types/search/inside/inside-worker.d.ts +0 -1
- package/dist/types/search/inside/module-entry-path-getter.d.ts +0 -1
- package/dist/types/search/inside/module-entry.d.ts +0 -1
- package/dist/types/search/inside/solve/addOrientationSuffix.d.ts +0 -1
- package/dist/types/search/inside/solve/parseSGS.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts +4 -4
- package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/clock.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/fto.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +0 -3
- package/dist/types/search/inside/solve/puzzles/megaminx.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/skewb.d.ts +3 -4
- package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts +2 -3
- package/dist/types/search/inside/solve/puzzles/sq1.d.ts +0 -1
- package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts +0 -1
- package/dist/types/search/inside/solve/tremble.d.ts +6 -6
- package/dist/types/search/instantiator.d.ts +0 -1
- package/dist/types/search/outside.d.ts +6 -7
- package/dist/types/search/worker-inside-generated-string.d.ts +1 -2
- package/dist/types/stream/index.d.ts +0 -1
- package/dist/types/stream/process/ReorientedStream.d.ts +1 -3
- package/dist/types/stream/proxy-event.d.ts +0 -1
- package/dist/types/stream/twizzle/TwizzleStream.d.ts +0 -1
- package/dist/types/stream/twizzle/stream-types.d.ts +0 -1
- package/dist/types/stream/websocket-proxy.d.ts +0 -1
- package/dist/types/twisty/controllers/AnimationTypes.d.ts +2 -3
- package/dist/types/twisty/controllers/RenderScheduler.d.ts +0 -1
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +0 -1
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts +0 -1
- package/dist/types/twisty/controllers/easing.d.ts +0 -1
- package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts +0 -1
- package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts +6 -6
- package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts +7 -7
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +8 -8
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +9 -9
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts +0 -1
- package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts +36 -37
- package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts +7 -7
- package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts +0 -1
- package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts +0 -1
- package/dist/types/twisty/heavy-code-imports/3d.d.ts +0 -1
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts +0 -1
- package/dist/types/twisty/index.d.ts +1 -2
- package/dist/types/twisty/model/PromiseFreshener.d.ts +0 -1
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts +6 -7
- package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts +0 -1
- package/dist/types/twisty/model/helpers.d.ts +0 -1
- package/dist/types/twisty/model/props/TwistyProp.d.ts +0 -1
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts +0 -1
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +0 -1
- package/dist/types/twisty/model/props/general/URLProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +5 -8
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +5 -7
- package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/{CurrentLeavesProp.d.ts → CurrentMoveInfoProp.d.ts} +2 -3
- package/dist/types/twisty/model/props/puzzle/state/CurrentStateProp.d.ts +14 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +7 -8
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +5 -6
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +2 -3
- package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +4 -5
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/KPuzzleProp.d.ts +10 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts +0 -1
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +2 -3
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +0 -1
- package/dist/types/twisty/views/2D/KPuzzleSVGWrapper.d.ts +17 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +4 -4
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +0 -1
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +0 -1
- package/dist/types/twisty/views/3D/DragTracker.d.ts +0 -1
- package/dist/types/twisty/views/3D/RendererPool.d.ts +0 -1
- package/dist/types/twisty/views/3D/TAU.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts +0 -1
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts +4 -5
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +5 -6
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +0 -1
- package/dist/types/twisty/views/ClassListManager.d.ts +0 -1
- package/dist/types/twisty/views/ManagedCustomElement.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts +0 -1
- package/dist/types/twisty/views/TwistyPlayer.css.d.ts +0 -1
- package/dist/types/twisty/views/TwistyPlayer.d.ts +0 -1
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +0 -1
- package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts +0 -1
- package/dist/types/twisty/views/canvas.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +0 -1
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts +0 -1
- package/dist/types/twisty/views/document.d.ts +0 -1
- package/dist/types/twisty/views/node-custom-element-shims.d.ts +0 -1
- package/dist/types/twisty/views/screenshot.d.ts +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts +0 -1
- package/dist/types/vendor/comlink-everywhere/inside/index.d.ts +0 -1
- package/dist/types/vendor/comlink-everywhere/inside/node.d.ts +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/index.d.ts +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/node.d.ts +0 -1
- package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts +0 -1
- package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts +0 -1
- package/dist/types/vendor/min2phase/gwt.d.ts +0 -1
- package/dist/types/vendor/p-lazy/p-lazy.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/get-random-values.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/index.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/random-choice.d.ts +0 -1
- package/dist/types/vendor/random-uint-below/random53BitValue.d.ts +0 -1
- package/dist/types/vendor/sq12phase/scramble_sq1.d.ts +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +0 -1
- package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts +0 -1
- package/package.json +3 -4
- package/dist/bin/order.js +0 -16675
- package/dist/bin/order.js.map +0 -7
- package/dist/bin/puzzle-geometry-bin.js +0 -5444
- package/dist/bin/puzzle-geometry-bin.js.map +0 -7
- package/dist/bundle-global/cubing.bundle-global.js +0 -10432
- package/dist/esm/2x2x2.kpuzzle.json-JOGUSQ4N.js.map +0 -7
- package/dist/esm/2x2x2.sgs.json-FRBWMMA7.js.map +0 -7
- package/dist/esm/chunk-DK6PXBB2.js.map +0 -7
- package/dist/esm/chunk-DPMEZY7V.js.map +0 -7
- package/dist/esm/chunk-FK2SCC3Z.js.map +0 -7
- package/dist/esm/chunk-JZWB7AIU.js.map +0 -7
- package/dist/esm/chunk-N3RNWU5T.js.map +0 -7
- package/dist/esm/chunk-PUPUQWJC.js.map +0 -7
- package/dist/esm/chunk-X6JHXPDX.js +0 -2359
- package/dist/esm/chunk-X6JHXPDX.js.map +0 -7
- package/dist/esm/chunk-XVZOMB6J.js.map +0 -7
- package/dist/esm/clock.kpuzzle.json-EKWRMHJM.js.map +0 -7
- package/dist/esm/entry-L6CE2HLF.js.map +0 -7
- package/dist/esm/fto.sgs.json-62YNULOK.js.map +0 -7
- package/dist/esm/megaminx.sgs.json-PRL46G5J.js +0 -16
- package/dist/esm/skewb.sgs.json-FWHYACJG.js +0 -16
- package/dist/esm/sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js +0 -3450
- package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js.map +0 -7
- package/dist/types/alg/Alg.d.ts.map +0 -1
- package/dist/types/alg/Alg.spec.d.ts.map +0 -1
- package/dist/types/alg/AlgBuilder.d.ts.map +0 -1
- package/dist/types/alg/Serializable.d.ts.map +0 -1
- package/dist/types/alg/common.d.ts.map +0 -1
- package/dist/types/alg/debug.d.ts.map +0 -1
- package/dist/types/alg/example.d.ts.map +0 -1
- package/dist/types/alg/index.d.ts.map +0 -1
- package/dist/types/alg/is.d.ts.map +0 -1
- package/dist/types/alg/iteration.d.ts.map +0 -1
- package/dist/types/alg/keyboard.d.ts.map +0 -1
- package/dist/types/alg/limits.d.ts.map +0 -1
- package/dist/types/alg/operation.d.ts.map +0 -1
- package/dist/types/alg/operation.spec.d.ts.map +0 -1
- package/dist/types/alg/parse.d.ts.map +0 -1
- package/dist/types/alg/parse.spec.d.ts.map +0 -1
- package/dist/types/alg/test/alg-comparison.d.ts.map +0 -1
- package/dist/types/alg/test/alg.spec.d.ts.map +0 -1
- package/dist/types/alg/traversal.d.ts.map +0 -1
- package/dist/types/alg/units/QuantumWithAmount.d.ts.map +0 -1
- package/dist/types/alg/units/Unit.d.ts.map +0 -1
- package/dist/types/alg/units/containers/Commutator.d.ts.map +0 -1
- package/dist/types/alg/units/containers/Conjugate.d.ts.map +0 -1
- package/dist/types/alg/units/containers/Grouping.d.ts.map +0 -1
- package/dist/types/alg/units/index.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/LineComment.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Move.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Move.spec.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Newline.d.ts.map +0 -1
- package/dist/types/alg/units/leaves/Pause.d.ts.map +0 -1
- package/dist/types/alg/url.d.ts.map +0 -1
- package/dist/types/alg/url.spec.d.ts.map +0 -1
- package/dist/types/alg/validation.d.ts.map +0 -1
- package/dist/types/alg/warnOnce.d.ts.map +0 -1
- package/dist/types/bluetooth/connect/index.d.ts.map +0 -1
- package/dist/types/bluetooth/debug.d.ts.map +0 -1
- package/dist/types/bluetooth/index.d.ts.map +0 -1
- package/dist/types/bluetooth/keyboard.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/connect.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/endianness.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/giiker.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-puzzle/gocube.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-robot/GanRobot.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-robot/index.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-timer/GanTimer.d.ts.map +0 -1
- package/dist/types/bluetooth/smart-timer/index.d.ts.map +0 -1
- package/dist/types/bluetooth/transformer.d.ts.map +0 -1
- package/dist/types/cubing.bundle-global.d.ts.map +0 -1
- package/dist/types/cubing.bundle-global.exports.d.ts.map +0 -1
- package/dist/types/esm-test-worker.d.ts.map +0 -1
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/canon.spec.d.ts +0 -2
- package/dist/types/kpuzzle/canon.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/canonicalize.d.ts +0 -55
- package/dist/types/kpuzzle/canonicalize.d.ts.map +0 -1
- package/dist/types/kpuzzle/definition_types.d.ts +0 -19
- package/dist/types/kpuzzle/definition_types.d.ts.map +0 -1
- package/dist/types/kpuzzle/index.d.ts.map +0 -1
- package/dist/types/kpuzzle/kpuzzle.d.ts +0 -17
- package/dist/types/kpuzzle/kpuzzle.d.ts.map +0 -1
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts +0 -2
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/move_notation.d.ts +0 -6
- package/dist/types/kpuzzle/move_notation.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/index.d.ts +0 -2
- package/dist/types/kpuzzle/parser/index.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/parser-peggy.d.ts +0 -15
- package/dist/types/kpuzzle/parser/parser-peggy.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/parser-shim.d.ts +0 -4
- package/dist/types/kpuzzle/parser/parser-shim.d.ts.map +0 -1
- package/dist/types/kpuzzle/parser/parser.d.ts +0 -1
- package/dist/types/kpuzzle/parser/parser.d.ts.map +0 -1
- package/dist/types/kpuzzle/prunetable.spec.d.ts +0 -2
- package/dist/types/kpuzzle/prunetable.spec.d.ts.map +0 -1
- package/dist/types/kpuzzle/pruningtable.d.ts +0 -16
- package/dist/types/kpuzzle/pruningtable.d.ts.map +0 -1
- package/dist/types/kpuzzle/puzzle-orientation.d.ts +0 -5
- package/dist/types/kpuzzle/puzzle-orientation.d.ts.map +0 -1
- package/dist/types/kpuzzle/svg.d.ts +0 -18
- package/dist/types/kpuzzle/svg.d.ts.map +0 -1
- package/dist/types/kpuzzle/transformations.d.ts +0 -13
- package/dist/types/kpuzzle/transformations.d.ts.map +0 -1
- package/dist/types/kpuzzle/transformations.spec.d.ts +0 -2
- package/dist/types/kpuzzle/transformations.spec.d.ts.map +0 -1
- package/dist/types/notation/CountAnimatedLeaves.d.ts.map +0 -1
- package/dist/types/notation/CountMoves.d.ts.map +0 -1
- package/dist/types/notation/index.d.ts.map +0 -1
- package/dist/types/protocol/binary/binary3x3x3.d.ts.map +0 -1
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts.map +0 -1
- package/dist/types/protocol/binary/hex.d.ts.map +0 -1
- package/dist/types/protocol/binary/hex.spec.d.ts.map +0 -1
- package/dist/types/protocol/binary/orbit-indexing.d.ts.map +0 -1
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts.map +0 -1
- package/dist/types/protocol/binary/puzzle-orientation.d.ts.map +0 -1
- package/dist/types/protocol/index.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Options.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Perm.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PermOriSet.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Quat.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/Quat.spec.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/SchreierSims.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/index.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/interfaces.d.ts +0 -6
- package/dist/types/puzzle-geometry/interfaces.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/notation-mapping/index.d.ts.map +0 -1
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts.map +0 -1
- package/dist/types/puzzles/PuzzleLoader.d.ts.map +0 -1
- package/dist/types/puzzles/async/async-pg3d.d.ts.map +0 -1
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/2x2x2/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/fto/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/megaminx/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/index.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts.map +0 -1
- package/dist/types/puzzles/index.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/appearance.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/fto-stickerings.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts.map +0 -1
- package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts.map +0 -1
- package/dist/types/scramble/index.d.ts.map +0 -1
- package/dist/types/search/esm-test-worker.d.ts.map +0 -1
- package/dist/types/search/index.d.ts.map +0 -1
- package/dist/types/search/inside/api.d.ts.map +0 -1
- package/dist/types/search/inside/api.spec.d.ts.map +0 -1
- package/dist/types/search/inside/entry.d.ts.map +0 -1
- package/dist/types/search/inside/inside-worker.d.ts.map +0 -1
- package/dist/types/search/inside/module-entry-path-getter.d.ts.map +0 -1
- package/dist/types/search/inside/module-entry.d.ts.map +0 -1
- package/dist/types/search/inside/solve/addOrientationSuffix.d.ts.map +0 -1
- package/dist/types/search/inside/solve/parseSGS.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/clock.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/fto.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/megaminx.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/skewb.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/sq1.d.ts.map +0 -1
- package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts.map +0 -1
- package/dist/types/search/inside/solve/tremble.d.ts.map +0 -1
- package/dist/types/search/instantiator.d.ts.map +0 -1
- package/dist/types/search/outside.d.ts.map +0 -1
- package/dist/types/search/worker-inside-generated-string.d.ts.map +0 -1
- package/dist/types/stream/index.d.ts.map +0 -1
- package/dist/types/stream/process/ReorientedStream.d.ts.map +0 -1
- package/dist/types/stream/proxy-event.d.ts.map +0 -1
- package/dist/types/stream/twizzle/TwizzleStream.d.ts.map +0 -1
- package/dist/types/stream/twizzle/stream-types.d.ts.map +0 -1
- package/dist/types/stream/websocket-proxy.d.ts.map +0 -1
- package/dist/types/twisty/controllers/AnimationTypes.d.ts.map +0 -1
- package/dist/types/twisty/controllers/RenderScheduler.d.ts.map +0 -1
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +0 -1
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts.map +0 -1
- package/dist/types/twisty/controllers/easing.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +0 -1
- package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +0 -1
- package/dist/types/twisty/heavy-code-imports/3d.d.ts.map +0 -1
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +0 -1
- package/dist/types/twisty/index.d.ts.map +0 -1
- package/dist/types/twisty/model/PromiseFreshener.d.ts.map +0 -1
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +0 -1
- package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts.map +0 -1
- package/dist/types/twisty/model/helpers.d.ts.map +0 -1
- package/dist/types/twisty/model/props/TwistyProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +0 -1
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +0 -1
- package/dist/types/twisty/model/props/general/URLProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +0 -15
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +0 -11
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +0 -1
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/DragTracker.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/RendererPool.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TAU.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DScene.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts +0 -48
- package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +0 -1
- package/dist/types/twisty/views/ClassListManager.d.ts.map +0 -1
- package/dist/types/twisty/views/ManagedCustomElement.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyPlayer.css.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyPlayer.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +0 -1
- package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts.map +0 -1
- package/dist/types/twisty/views/canvas.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +0 -1
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts.map +0 -1
- package/dist/types/twisty/views/document.d.ts.map +0 -1
- package/dist/types/twisty/views/node-custom-element-shims.d.ts.map +0 -1
- package/dist/types/twisty/views/screenshot.d.ts.map +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts.map +0 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts.map +0 -1
- package/dist/types/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
- package/dist/types/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
- package/dist/types/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
- package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
- package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
- package/dist/types/vendor/min2phase/gwt.d.ts.map +0 -1
- package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/index.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/random-choice.d.ts.map +0 -1
- package/dist/types/vendor/random-uint-below/random53BitValue.d.ts.map +0 -1
- package/dist/types/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +0 -1
- package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts.map +0 -1
- package/docs/.DS_Store +0 -0
- package/docs/CNAME +0 -1
- package/docs/cubing/.DS_Store +0 -0
- package/docs/cubing/alg/index.html +0 -174
- package/docs/cubing/api/index.html +0 -158
- package/docs/cubing/index.html +0 -191
- package/docs/cubing/scramble/index.html +0 -138
- package/docs/cubing/twisty/index.html +0 -329
- package/docs/favicon.ico +0 -0
- package/docs/index.html +0 -20
- package/docs/main.css +0 -193
- package/src/cubing/.DS_Store +0 -0
- package/src/cubing/alg/Alg.spec.ts +0 -10
- package/src/cubing/alg/Alg.ts +0 -290
- package/src/cubing/alg/AlgBuilder.ts +0 -33
- package/src/cubing/alg/Serializable.ts +0 -29
- package/src/cubing/alg/common.ts +0 -59
- package/src/cubing/alg/debug.ts +0 -27
- package/src/cubing/alg/example.ts +0 -152
- package/src/cubing/alg/index.ts +0 -21
- package/src/cubing/alg/is.ts +0 -38
- package/src/cubing/alg/iteration.ts +0 -45
- package/src/cubing/alg/keyboard.ts +0 -48
- package/src/cubing/alg/limits.ts +0 -4
- package/src/cubing/alg/operation.spec.ts +0 -48
- package/src/cubing/alg/operation.ts +0 -36
- package/src/cubing/alg/parse.spec.ts +0 -75
- package/src/cubing/alg/parse.ts +0 -408
- package/src/cubing/alg/test/alg-comparison.ts +0 -23
- package/src/cubing/alg/test/alg.spec.ts +0 -348
- package/src/cubing/alg/traversal.ts +0 -284
- package/src/cubing/alg/units/QuantumWithAmount.ts +0 -55
- package/src/cubing/alg/units/Unit.ts +0 -11
- package/src/cubing/alg/units/containers/Commutator.ts +0 -85
- package/src/cubing/alg/units/containers/Conjugate.ts +0 -53
- package/src/cubing/alg/units/containers/Grouping.ts +0 -116
- package/src/cubing/alg/units/index.ts +0 -8
- package/src/cubing/alg/units/leaves/LineComment.spec.ts +0 -35
- package/src/cubing/alg/units/leaves/LineComment.ts +0 -48
- package/src/cubing/alg/units/leaves/Move.spec.ts +0 -15
- package/src/cubing/alg/units/leaves/Move.ts +0 -265
- package/src/cubing/alg/units/leaves/Newline.ts +0 -24
- package/src/cubing/alg/units/leaves/Pause.ts +0 -24
- package/src/cubing/alg/url.spec.ts +0 -10
- package/src/cubing/alg/url.ts +0 -133
- package/src/cubing/alg/validation.ts +0 -62
- package/src/cubing/alg/warnOnce.ts +0 -7
- package/src/cubing/bluetooth/connect/index.ts +0 -93
- package/src/cubing/bluetooth/debug.ts +0 -18
- package/src/cubing/bluetooth/docs/gan-robot.md +0 -60
- package/src/cubing/bluetooth/docs/gan356i.md +0 -309
- package/src/cubing/bluetooth/index.ts +0 -19
- package/src/cubing/bluetooth/keyboard.ts +0 -55
- package/src/cubing/bluetooth/smart-puzzle/Heykube.ts +0 -165
- package/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.ts +0 -95
- package/src/cubing/bluetooth/smart-puzzle/connect.ts +0 -19
- package/src/cubing/bluetooth/smart-puzzle/endianness.ts +0 -15
- package/src/cubing/bluetooth/smart-puzzle/gan.ts +0 -484
- package/src/cubing/bluetooth/smart-puzzle/giiker.spec.ts +0 -28
- package/src/cubing/bluetooth/smart-puzzle/giiker.ts +0 -277
- package/src/cubing/bluetooth/smart-puzzle/gocube.ts +0 -167
- package/src/cubing/bluetooth/smart-robot/GanRobot.ts +0 -311
- package/src/cubing/bluetooth/smart-robot/index.ts +0 -13
- package/src/cubing/bluetooth/smart-timer/GanTimer.ts +0 -141
- package/src/cubing/bluetooth/smart-timer/index.ts +0 -13
- package/src/cubing/bluetooth/transformer.ts +0 -74
- package/src/cubing/cubing.bundle-global.exports.ts +0 -25
- package/src/cubing/cubing.bundle-global.ts +0 -7
- package/src/cubing/esm-test-worker.js +0 -5
- package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.ts +0 -40
- package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts +0 -339
- package/src/cubing/kpuzzle/canon.spec.ts +0 -48
- package/src/cubing/kpuzzle/canonicalize.ts +0 -325
- package/src/cubing/kpuzzle/definition_types.ts +0 -23
- package/src/cubing/kpuzzle/index.ts +0 -33
- package/src/cubing/kpuzzle/kpuzzle.spec.ts +0 -12
- package/src/cubing/kpuzzle/kpuzzle.ts +0 -124
- package/src/cubing/kpuzzle/move_notation.ts +0 -9
- package/src/cubing/kpuzzle/parser/index.ts +0 -1
- package/src/cubing/kpuzzle/parser/parser-peggy.js +0 -1221
- package/src/cubing/kpuzzle/parser/parser-peggy.peggy +0 -72
- package/src/cubing/kpuzzle/parser/parser-shim.ts +0 -11
- package/src/cubing/kpuzzle/parser/parser.js +0 -0
- package/src/cubing/kpuzzle/prunetable.spec.ts +0 -19
- package/src/cubing/kpuzzle/pruningtable.ts +0 -99
- package/src/cubing/kpuzzle/puzzle-orientation.ts +0 -34
- package/src/cubing/kpuzzle/svg.ts +0 -290
- package/src/cubing/kpuzzle/transformations.spec.ts +0 -75
- package/src/cubing/kpuzzle/transformations.ts +0 -258
- package/src/cubing/notation/CountAnimatedLeaves.ts +0 -56
- package/src/cubing/notation/CountMoves.ts +0 -89
- package/src/cubing/notation/index.ts +0 -4
- package/src/cubing/protocol/binary/binary3x3x3.spec.ts +0 -143
- package/src/cubing/protocol/binary/binary3x3x3.ts +0 -226
- package/src/cubing/protocol/binary/hex.spec.ts +0 -17
- package/src/cubing/protocol/binary/hex.ts +0 -12
- package/src/cubing/protocol/binary/orbit-indexing.spec.ts +0 -49
- package/src/cubing/protocol/binary/orbit-indexing.ts +0 -68
- package/src/cubing/protocol/binary/puzzle-orientation.ts +0 -69
- package/src/cubing/protocol/index.ts +0 -12
- package/src/cubing/puzzle-geometry/FaceNameSwizzler.ts +0 -148
- package/src/cubing/puzzle-geometry/Options.ts +0 -179
- package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +0 -127
- package/src/cubing/puzzle-geometry/PGPuzzles.ts +0 -80
- package/src/cubing/puzzle-geometry/Perm.ts +0 -154
- package/src/cubing/puzzle-geometry/PermOriSet.ts +0 -765
- package/src/cubing/puzzle-geometry/PlatonicGenerator.ts +0 -146
- package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +0 -3013
- package/src/cubing/puzzle-geometry/Quat.spec.ts +0 -10
- package/src/cubing/puzzle-geometry/Quat.ts +0 -325
- package/src/cubing/puzzle-geometry/SchreierSims.ts +0 -144
- package/src/cubing/puzzle-geometry/index.ts +0 -17
- package/src/cubing/puzzle-geometry/interfaces.ts +0 -6
- package/src/cubing/puzzle-geometry/notation-mapping/FTONotationMapper.ts +0 -38
- package/src/cubing/puzzle-geometry/notation-mapping/FaceRenamingMapper.ts +0 -59
- package/src/cubing/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.ts +0 -50
- package/src/cubing/puzzle-geometry/notation-mapping/NotationMapper.ts +0 -6
- package/src/cubing/puzzle-geometry/notation-mapping/NullMapper.ts +0 -12
- package/src/cubing/puzzle-geometry/notation-mapping/NxNxNCubeMapper.ts +0 -77
- package/src/cubing/puzzle-geometry/notation-mapping/PyraminxNotationMapper.ts +0 -121
- package/src/cubing/puzzle-geometry/notation-mapping/SkewbNotationMapper.ts +0 -103
- package/src/cubing/puzzle-geometry/notation-mapping/index.ts +0 -13
- package/src/cubing/puzzle-geometry/orientcenters.spec.ts +0 -55
- package/src/cubing/puzzles/PuzzleLoader.ts +0 -20
- package/src/cubing/puzzles/async/async-pg3d.ts +0 -73
- package/src/cubing/puzzles/customPGPuzzleLoader.ts +0 -60
- package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.ts +0 -92
- package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.ts +0 -45
- package/src/cubing/puzzles/implementations/2x2x2/index.ts +0 -25
- package/src/cubing/puzzles/implementations/2x2x2/svg/2x2x2.kpuzzle.svg +0 -45
- package/src/cubing/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.ts +0 -108
- package/src/cubing/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.ts +0 -128
- package/src/cubing/puzzles/implementations/3x3x3/index.ts +0 -33
- package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3-ll.kpuzzle.svg +0 -108
- package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3.kpuzzle.svg +0 -128
- package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.original.svg +0 -128
- package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.outlined.svg +0 -486
- package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.spaced.svg +0 -128
- package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.json.ts +0 -241
- package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.svg.ts +0 -369
- package/src/cubing/puzzles/implementations/clock/index.ts +0 -14
- package/src/cubing/puzzles/implementations/clock/src/clock.kpuzzle.svg +0 -369
- package/src/cubing/puzzles/implementations/fto/index.ts +0 -28
- package/src/cubing/puzzles/implementations/megaminx/index.ts +0 -20
- package/src/cubing/puzzles/implementations/pyraminx/index.ts +0 -18
- package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.ts +0 -84
- package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.ts +0 -88
- package/src/cubing/puzzles/implementations/pyraminx/src/pyraminx.kpuzzle.svg +0 -87
- package/src/cubing/puzzles/implementations/square1/index.ts +0 -14
- package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.ts +0 -62
- package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.ts +0 -295
- package/src/cubing/puzzles/implementations/square1/src/sq1-hyperorbit.kpuzzle.svg +0 -295
- package/src/cubing/puzzles/implementations/square1/src/sq1-simple.svg +0 -60
- package/src/cubing/puzzles/index.ts +0 -92
- package/src/cubing/puzzles/stickerings/appearance.ts +0 -292
- package/src/cubing/puzzles/stickerings/cube-stickerings.ts +0 -304
- package/src/cubing/puzzles/stickerings/fto-stickerings.ts +0 -105
- package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +0 -61
- package/src/cubing/puzzles/stickerings/megaminx-stickerings.ts +0 -26
- package/src/cubing/scramble/index.ts +0 -1
- package/src/cubing/search/.DS_Store +0 -0
- package/src/cubing/search/.gitignore +0 -1
- package/src/cubing/search/esm-test-worker.js +0 -14
- package/src/cubing/search/index.ts +0 -12
- package/src/cubing/search/inside/.DS_Store +0 -0
- package/src/cubing/search/inside/api.spec.ts +0 -37
- package/src/cubing/search/inside/api.ts +0 -174
- package/src/cubing/search/inside/entry.js +0 -4
- package/src/cubing/search/inside/inside-worker.ts +0 -13
- package/src/cubing/search/inside/module-entry-path-getter.ts +0 -5
- package/src/cubing/search/inside/module-entry.ts +0 -20
- package/src/cubing/search/inside/solve/addOrientationSuffix.ts +0 -17
- package/src/cubing/search/inside/solve/parseSGS.ts +0 -119
- package/src/cubing/search/inside/solve/puzzles/2x2x2.sgs.json.ts +0 -114
- package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +0 -92
- package/src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts +0 -137
- package/src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts +0 -60
- package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +0 -67
- package/src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts +0 -291
- package/src/cubing/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.ts +0 -272
- package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +0 -30
- package/src/cubing/search/inside/solve/puzzles/5x5x5.ts +0 -12
- package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +0 -78
- package/src/cubing/search/inside/solve/puzzles/clock.ts +0 -48
- package/src/cubing/search/inside/solve/puzzles/fto.sgs.json.ts +0 -643
- package/src/cubing/search/inside/solve/puzzles/fto.ts +0 -58
- package/src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts +0 -1549
- package/src/cubing/search/inside/solve/puzzles/megaminx.ts +0 -51
- package/src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts +0 -98
- package/src/cubing/search/inside/solve/puzzles/pyraminx.ts +0 -48
- package/src/cubing/search/inside/solve/puzzles/sgs-defs.spec.ts +0 -27
- package/src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts +0 -113
- package/src/cubing/search/inside/solve/puzzles/skewb.ts +0 -65
- package/src/cubing/search/inside/solve/puzzles/sq1.ts +0 -16
- package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +0 -32
- package/src/cubing/search/inside/solve/tremble.ts +0 -213
- package/src/cubing/search/instantiator.ts +0 -95
- package/src/cubing/search/outside.ts +0 -110
- package/src/cubing/search/worker-inside-generated-string.js +0 -1
- package/src/cubing/stream/index.ts +0 -12
- package/src/cubing/stream/process/ReorientedStream.ts +0 -93
- package/src/cubing/stream/proxy-event.ts +0 -16
- package/src/cubing/stream/twizzle/TwizzleStream.ts +0 -53
- package/src/cubing/stream/twizzle/stream-types.ts +0 -45
- package/src/cubing/stream/websocket-proxy.ts +0 -73
- package/src/cubing/twisty/controllers/AnimationTypes.ts +0 -50
- package/src/cubing/twisty/controllers/RenderScheduler.ts +0 -28
- package/src/cubing/twisty/controllers/TwistyAnimationController.ts +0 -325
- package/src/cubing/twisty/controllers/TwistyPlayerController.ts +0 -38
- package/src/cubing/twisty/controllers/easing.ts +0 -3
- package/src/cubing/twisty/controllers/indexer/AlgDuration.ts +0 -94
- package/src/cubing/twisty/controllers/indexer/AlgIndexer.ts +0 -87
- package/src/cubing/twisty/controllers/indexer/SimpleAlgIndexer.ts +0 -76
- package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +0 -181
- package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +0 -243
- package/src/cubing/twisty/controllers/indexer/simultaneous-moves/simul-moves.ts +0 -193
- package/src/cubing/twisty/controllers/indexer/tree/AlgWalker.ts +0 -439
- package/src/cubing/twisty/controllers/indexer/tree/TreeAlgIndexer.ts +0 -97
- package/src/cubing/twisty/controllers/indexer/tree/chunkAlgs.ts +0 -81
- package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -59
- package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.ts +0 -162
- package/src/cubing/twisty/heavy-code-imports/3d.ts +0 -18
- package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +0 -31
- package/src/cubing/twisty/index.ts +0 -24
- package/src/cubing/twisty/model/PromiseFreshener.ts +0 -49
- package/src/cubing/twisty/model/TwistyPlayerModel.ts +0 -256
- package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +0 -22
- package/src/cubing/twisty/model/helpers.ts +0 -47
- package/src/cubing/twisty/model/props/TwistyProp.spec.ts +0 -38
- package/src/cubing/twisty/model/props/TwistyProp.ts +0 -366
- package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +0 -370
- package/src/cubing/twisty/model/props/general/URLProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.ts +0 -9
- package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +0 -15
- package/src/cubing/twisty/model/props/puzzle/display/SpriteProp.ts +0 -43
- package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +0 -56
- package/src/cubing/twisty/model/props/puzzle/state/AlgProp.ts +0 -91
- package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +0 -28
- package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +0 -44
- package/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.ts +0 -17
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +0 -109
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +0 -48
- package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +0 -46
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +0 -53
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.ts +0 -15
- package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +0 -24
- package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +0 -22
- package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.ts +0 -20
- package/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts +0 -28
- package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDefProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.ts +0 -14
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +0 -12
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +0 -36
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +0 -38
- package/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.ts +0 -45
- package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +0 -78
- package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +0 -48
- package/src/cubing/twisty/model/props/timeline/TempoScaleProp.ts +0 -13
- package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +0 -38
- package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +0 -16
- package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +0 -15
- package/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.ts +0 -86
- package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +0 -14
- package/src/cubing/twisty/model/props/viewer/LatitudeLimit.ts +0 -11
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +0 -127
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +0 -69
- package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +0 -15
- package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +0 -14
- package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +0 -17
- package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +0 -45
- package/src/cubing/twisty/views/2D/Twisty2DPuzzle.css.ts +0 -26
- package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +0 -146
- package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +0 -52
- package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +0 -77
- package/src/cubing/twisty/views/3D/DragTracker.ts +0 -184
- package/src/cubing/twisty/views/3D/RendererPool.ts +0 -54
- package/src/cubing/twisty/views/3D/TAU.ts +0 -2
- package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +0 -214
- package/src/cubing/twisty/views/3D/Twisty3DRenderTarget.ts +0 -5
- package/src/cubing/twisty/views/3D/Twisty3DScene.ts +0 -42
- package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +0 -189
- package/src/cubing/twisty/views/3D/Twisty3DVantage.css.ts +0 -32
- package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +0 -312
- package/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.ts +0 -213
- package/src/cubing/twisty/views/3D/TwistyOrbitControls.ts +0 -176
- package/src/cubing/twisty/views/3D/puzzles/Cube3D.ts +0 -966
- package/src/cubing/twisty/views/3D/puzzles/KPuzzleWrapper.ts +0 -142
- package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +0 -1078
- package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +0 -6
- package/src/cubing/twisty/views/ClassListManager.ts +0 -34
- package/src/cubing/twisty/views/ManagedCustomElement.ts +0 -76
- package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +0 -116
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.ts +0 -72
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.ts +0 -57
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +0 -368
- package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +0 -179
- package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +0 -25
- package/src/cubing/twisty/views/TwistyAlgViewer.ts +0 -502
- package/src/cubing/twisty/views/TwistyPlayer.css.ts +0 -73
- package/src/cubing/twisty/views/TwistyPlayer.ts +0 -362
- package/src/cubing/twisty/views/TwistyPlayerSettable.ts +0 -115
- package/src/cubing/twisty/views/TwistyViewerWrapper.css.ts +0 -41
- package/src/cubing/twisty/views/canvas.ts +0 -9
- package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.css.ts +0 -127
- package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +0 -156
- package/src/cubing/twisty/views/control-panel/TwistyScrubber.css.ts +0 -48
- package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +0 -145
- package/src/cubing/twisty/views/control-panel/webkit-fullscreen.ts +0 -44
- package/src/cubing/twisty/views/document.ts +0 -4
- package/src/cubing/twisty/views/node-custom-element-shims.ts +0 -30
- package/src/cubing/twisty/views/screenshot.ts +0 -90
- package/src/cubing/twisty/views/stream/TwistyStreamSource.css.ts +0 -17
- package/src/cubing/twisty/views/stream/TwistyStreamSource.ts +0 -155
- package/src/cubing/vendor/.DS_Store +0 -0
- package/src/cubing/vendor/comlink-everywhere/.DS_Store +0 -0
- package/src/cubing/vendor/comlink-everywhere/comlink-everywhere.webloc +0 -8
- package/src/cubing/vendor/comlink-everywhere/inside/index.d.ts +0 -1
- package/src/cubing/vendor/comlink-everywhere/inside/index.js +0 -16
- package/src/cubing/vendor/comlink-everywhere/inside/node.js +0 -6
- package/src/cubing/vendor/comlink-everywhere/outside/index.d.ts +0 -6
- package/src/cubing/vendor/comlink-everywhere/outside/index.js +0 -31
- package/src/cubing/vendor/comlink-everywhere/outside/node.js +0 -42
- package/src/cubing/vendor/cstimer/.DS_Store +0 -0
- package/src/cubing/vendor/cstimer/LICENSE +0 -674
- package/src/cubing/vendor/cstimer/src/.DS_Store +0 -0
- package/src/cubing/vendor/cstimer/src/js/lib/mathlib.ts +0 -54
- package/src/cubing/vendor/cstimer/src/js/scramble/scramble_444.ts +0 -2791
- package/src/cubing/vendor/min2phase/gwt.d.ts +0 -2
- package/src/cubing/vendor/min2phase/gwt.js +0 -2699
- package/src/cubing/vendor/p-lazy/license +0 -9
- package/src/cubing/vendor/p-lazy/p-lazy.ts +0 -52
- package/src/cubing/vendor/p-lazy/readme.md +0 -54
- package/src/cubing/vendor/random-uint-below/get-random-values.ts +0 -23
- package/src/cubing/vendor/random-uint-below/index.ts +0 -12
- package/src/cubing/vendor/random-uint-below/random-choice.ts +0 -9
- package/src/cubing/vendor/random-uint-below/random53BitValue.ts +0 -64
- package/src/cubing/vendor/sq12phase/scramble_sq1.js +0 -853
- package/src/cubing/vendor/three/.DS_Store +0 -0
- package/src/cubing/vendor/three/examples/.DS_Store +0 -0
- package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +0 -179
- package/src/cubing/vendor/unsafe-raw-aes/unsafe-raw-aes.ts +0 -64
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export const workerSource: "var Sg=Object.create;var Eo=Object.defineProperty;var vg=Object.getOwnPropertyDescriptor;var wg=Object.getOwnPropertyNames;var Eg=Object.getPrototypeOf,kg=Object.prototype.hasOwnProperty;var ua=e=>Eo(e,\"__esModule\",{value:!0});var y=(e,t)=>()=>(e&&(t=e(e=0)),t);var he=(e,t)=>{ua(e);for(var r in t)Eo(e,r,{get:t[r],enumerable:!0})},zg=(e,t,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let n of wg(t))!kg.call(e,n)&&n!==\"default\"&&Eo(e,n,{get:()=>t[n],enumerable:!(r=vg(t,n))||r.enumerable});return e},fa=e=>zg(ua(Eo(e!=null?Sg(Eg(e)):{},\"default\",e&&e.__esModule&&\"default\"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var li=(e,t,r)=>{if(!t.has(e))throw TypeError(\"Cannot \"+r)};var d=(e,t,r)=>(li(e,t,\"read from private field\"),r?r.call(e):t.get(e)),me=(e,t,r)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,r)},le=(e,t,r,n)=>(li(e,t,\"write to private field\"),n?n.call(e,r):t.set(e,r),r),ii=(e,t,r,n)=>({set _(o){le(e,t,o,r)},get _(){return d(e,t,n)}}),ga=(e,t,r)=>(li(e,t,\"access private method\"),r);var da={};he(da,{default:()=>qg});function Qg(e){let t=new WeakMap;return{postMessage:e.postMessage.bind(e),addEventListener:(r,n)=>{let o=l=>{\"handleEvent\"in n?n.handleEvent({data:l}):n({data:l})};e.on(\"message\",o),t.set(n,o)},removeEventListener:(r,n)=>{let o=t.get(n);!o||(e.off(\"message\",o),t.delete(n))},start:e.start&&e.start.bind(e)}}var qg,Fa=y(()=>{qg=Qg});var Da={};he(Da,{port:()=>jg});async function jg(){let{parentPort:e}=await import(\"worker_threads\").catch();return(await Promise.resolve().then(()=>(Fa(),da))).default(e)}var Aa=y(()=>{});var Vg,zo,ke,Mt=y(()=>{Vg=!1,zo=class{is(t){return this instanceof t}as(t){return this instanceof t?this:null}},ke=class extends zo{constructor(){super();Vg&&Object.defineProperty(this,\"_debugStr\",{get:()=>this.toString()})}get log(){return console.log.bind(console,this,this.toString())}}});function ya(e,t=!0){if(!t)return e;switch(e){case 1:return-1;case-1:return 1}}function fi(e,t){return t===-1?Array.from(e).reverse():e}function Ua(e){return Array.from(e).reverse()}var q,mt=y(()=>{(function(r){r[r.Forwards=1]=\"Forwards\",r[r.Backwards=-1]=\"Backwards\"})(q||(q={}))});var In,_r,ba,gi=y(()=>{In=2147483647,_r=\"2^31 - 1\",ba=-2147483648});var Rr,at,ci=y(()=>{It();at=class{constructor(){me(this,Rr,[])}push(t){d(this,Rr).push(t)}experimentalPushAlg(t){for(let r of t.units())this.push(r)}experimentalNumUnits(){return d(this,Rr).length}toAlg(){return new k(d(this,Rr))}reset(){le(this,Rr,[])}};Rr=new WeakMap});var dr,Fr,Co,ze,Gn=y(()=>{It();Mt();mt();Co=class extends ke{constructor(t,r){super();me(this,dr,void 0);me(this,Fr,void 0);le(this,dr,Zt(t)),le(this,Fr,Zt(r))}get A(){return d(this,dr)}get B(){return d(this,Fr)}isIdentical(t){let r=t.as(Co);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new Co(d(this,Fr),d(this,dr))}*experimentalExpand(t=q.Forwards,r){r??(r=1/0),r===0?yield t===q.Forwards?this:this.invert():t===q.Forwards?(yield*this.A.experimentalExpand(q.Forwards,r-1),yield*this.B.experimentalExpand(q.Forwards,r-1),yield*this.A.experimentalExpand(q.Backwards,r-1),yield*this.B.experimentalExpand(q.Backwards,r-1)):(yield*this.B.experimentalExpand(q.Forwards,r-1),yield*this.A.experimentalExpand(q.Forwards,r-1),yield*this.B.experimentalExpand(q.Backwards,r-1),yield*this.A.experimentalExpand(q.Backwards,r-1))}toString(){return`[${d(this,dr).toString()}, ${d(this,Fr).toString()}]`}},ze=Co;dr=new WeakMap,Fr=new WeakMap});var Or,Wr,Po,Ce,Tn=y(()=>{It();Mt();mt();Po=class extends ke{constructor(t,r){super();me(this,Or,void 0);me(this,Wr,void 0);le(this,Or,Zt(t)),le(this,Wr,Zt(r))}get A(){return d(this,Or)}get B(){return d(this,Wr)}isIdentical(t){let r=t.as(Po);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new Po(d(this,Or),d(this,Wr).invert())}*experimentalExpand(t,r){r??(r=1/0),r===0?yield t===q.Forwards?this:this.invert():(yield*this.A.experimentalExpand(q.Forwards,r-1),yield*this.B.experimentalExpand(t,r-1),yield*this.A.experimentalExpand(q.Backwards,r-1))}toString(){return`[${this.A}: ${this.B}]`}},Ce=Po;Or=new WeakMap,Wr=new WeakMap});var Xt,Li,Bt,Nn=y(()=>{Mt();mt();Li=class extends ke{constructor(t){super();me(this,Xt,void 0);if(t.includes(`\n`)||t.includes(\"\\r\"))throw new Error(\"LineComment cannot contain newline\");le(this,Xt,t)}get text(){return d(this,Xt)}isIdentical(t){let r=t;return t.is(Li)&&d(this,Xt)===d(r,Xt)}invert(){return this}*experimentalExpand(t=q.Forwards,r=1/0){yield this}toString(){return`//${d(this,Xt)}`}},Bt=Li;Xt=new WeakMap});var Oe,_n=y(()=>{Mt();mt();Oe=class extends ke{toString(){return`\n`}isIdentical(t){return t.is(Oe)}invert(){return this}*experimentalExpand(t=q.Forwards,r=1/0){yield this}}});var We,On=y(()=>{Mt();mt();We=class extends ke{toString(){return\".\"}isIdentical(t){return t.is(We)}invert(){return this}*experimentalExpand(t=q.Forwards,r=1/0){yield this}}});function Mo(e,t){return e?parseInt(e):t}function mi(e){return new Io().parseAlg(e)}function Sa(e){return new Io().parseMove(e)}function va(e){return new Io().parseQuantumMove(e)}function Qe(e,t,r){let n=e;return n.startCharIndex=t,n.endCharIndex=r,n}function wa(e,t){return\"startCharIndex\"in e&&(t.startCharIndex=e.startCharIndex),\"endCharIndex\"in e&&(t.endCharIndex=e.endCharIndex),t}var xa,Hg,Yg,Zg,Xg,Jg,He,_,Io,Bi=y(()=>{It();ci();Gn();Tn();Go();Nn();Gt();_n();On();xa=/^(\\d+)?('?)/,Hg=/^[_\\dA-Za-z]/,Yg=/^((([1-9]\\d*)-)?([1-9]\\d*))?([_A-Za-z]+)?/,Zg=/^[^\\n]*/,Xg=/^(-?\\d+), ?/,Jg=/^(-?\\d+)\\)/;Io=class{constructor(){me(this,He,\"\");me(this,_,0)}parseAlg(t){le(this,He,t),le(this,_,0);let r=this.parseAlgWithStopping([]);return this.mustBeAtEndOfInput(),r}parseMove(t){le(this,He,t),le(this,_,0);let r=this.parseMoveImpl();return this.mustBeAtEndOfInput(),r}parseQuantumMove(t){le(this,He,t),le(this,_,0);let r=this.parseQuantumMoveImpl();return this.mustBeAtEndOfInput(),r}mustBeAtEndOfInput(){if(d(this,_)!==d(this,He).length)throw new Error(\"parsing unexpectedly ended early\")}parseAlgWithStopping(t){let r=d(this,_),n=d(this,_),o=new at,l=!1,i=s=>{if(l)throw new Error(`Unexpected character at index ${s}. Are you missing a space?`)};e:for(;d(this,_)<d(this,He).length;){let s=d(this,_);if(t.includes(d(this,He)[d(this,_)]))return Qe(o.toAlg(),r,n);if(this.tryConsumeNext(\" \")){l=!1,o.experimentalNumUnits()===0&&(r=d(this,_));continue e}else if(Hg.test(d(this,He)[d(this,_)])){i(s);let u=this.parseMoveImpl();o.push(u),l=!0,n=d(this,_);continue e}else if(this.tryConsumeNext(\"(\")){i(s);let u=this.tryRegex(Xg);if(u){let a=u[1],f=d(this,_),g=this.parseRegex(Jg),c=Qe(new B(new I(\"U_SQ_\"),parseInt(a)),s+1,s+1+a.length),L=Qe(new B(new I(\"D_SQ_\"),parseInt(g[1])),f,d(this,_)-1),p=Qe(new k([c,L]),s+1,d(this,_)-1);o.push(Qe(new nt(p),s,d(this,_))),l=!0,n=d(this,_);continue e}else{let a=this.parseAlgWithStopping([\")\"]);this.mustConsumeNext(\")\");let f=this.parseAmount();o.push(Qe(new nt(a,f),s,d(this,_))),l=!0,n=d(this,_);continue e}}else if(this.tryConsumeNext(\"[\")){i(s);let u=this.parseAlgWithStopping([\",\",\":\"]),a=this.popNext(),f=this.parseAlgWithStopping([\"]\"]);switch(this.mustConsumeNext(\"]\"),a){case\":\":o.push(Qe(new Ce(u,f),s,d(this,_))),l=!0,n=d(this,_);continue e;case\",\":o.push(Qe(new ze(u,f),s,d(this,_))),l=!0,n=d(this,_);continue e;default:throw\"unexpected parsing error\"}}else if(this.tryConsumeNext(`\n`)){o.push(Qe(new Oe,s,d(this,_))),l=!1,n=d(this,_);continue e}else if(this.tryConsumeNext(\"/\"))if(this.tryConsumeNext(\"/\")){i(s);let[u]=this.parseRegex(Zg);o.push(Qe(new Bt(u),s,d(this,_))),l=!1,n=d(this,_);continue e}else{o.push(Qe(new B(\"_SLASH_\"),s,d(this,_))),l=!0,n=d(this,_);continue e}else if(this.tryConsumeNext(\".\")){i(s),o.push(Qe(new We,s,d(this,_))),l=!0,n=d(this,_);continue e}else throw new Error(`Unexpected character: ${this.popNext()}`)}if(d(this,_)!==d(this,He).length)throw new Error(\"did not finish parsing?\");if(t.length>0)throw new Error(\"expected stopping\");return Qe(o.toAlg(),r,n)}parseQuantumMoveImpl(){let[,,,t,r,n]=this.parseRegex(Yg);return new I(n,Mo(r,void 0),Mo(t,void 0))}parseMoveImpl(){let t=d(this,_);if(this.tryConsumeNext(\"/\"))return Qe(new B(\"_SLASH_\"),t,d(this,_));let r=this.parseQuantumMoveImpl(),[n,o]=this.parseAmountAndTrackEmptyAbsAmount(),l=this.parseMoveSuffix();if(l){if(n<0)throw new Error(\"uh-oh\");if((l===\"++\"||l===\"--\")&&n!==1)throw new Error(\"Pochmann ++ or -- moves cannot have an amount other than 1.\");if((l===\"++\"||l===\"--\")&&!o)throw new Error(\"Pochmann ++ or -- moves cannot have an amount written as a number.\");if((l===\"+\"||l===\"-\")&&o)throw new Error(\"Clock dial moves must have an amount written as a natural number followed by + or -.\");l.startsWith(\"+\")&&(r=r.modified({family:`${r.family}_${l===\"+\"?\"PLUS\":\"PLUSPLUS\"}_`})),l.startsWith(\"-\")&&(r=r.modified({family:`${r.family}_${l===\"-\"?\"PLUS\":\"PLUSPLUS\"}_`}),n*=-1)}return Qe(new B(r,n),t,d(this,_))}parseMoveSuffix(){return this.tryConsumeNext(\"+\")?this.tryConsumeNext(\"+\")?\"++\":\"+\":this.tryConsumeNext(\"-\")?this.tryConsumeNext(\"-\")?\"--\":\"-\":null}parseAmountAndTrackEmptyAbsAmount(){let t=d(this,_),[,r,n]=this.parseRegex(xa);if(r?.startsWith(\"0\")&&r!==\"0\")throw new Error(`Error at char index ${t}: An amount can only start with 0 if it's exactly the digit 0.`);return[Mo(r,1)*(n===\"'\"?-1:1),!r]}parseAmount(){let t=d(this,_),[,r,n]=this.parseRegex(xa);if(r?.startsWith(\"0\")&&r!==\"0\")throw new Error(`Error at char index ${t}: An amount number can only start with 0 if it's exactly the digit 0.`);return Mo(r,1)*(n===\"'\"?-1:1)}parseRegex(t){let r=t.exec(this.remaining());if(r===null)throw new Error(\"internal parsing error\");return le(this,_,d(this,_)+r[0].length),r}tryRegex(t){let r=t.exec(this.remaining());return r===null?null:(le(this,_,d(this,_)+r[0].length),r)}remaining(){return d(this,He).slice(d(this,_))}popNext(){let t=d(this,He)[d(this,_)];return ii(this,_)._++,t}tryConsumeNext(t){return d(this,He)[d(this,_)]===t?(ii(this,_)._++,!0):!1}mustConsumeNext(t){let r=this.popNext();if(r!==t)throw new Error(`expected \\`${t}\\` while parsing, encountered ${r}`);return r}};He=new WeakMap,_=new WeakMap});function To(e){Ea.has(e)||(console.warn(e),Ea.add(e))}var Ea,pi=y(()=>{Ea=new Set});var Qr,Ri=y(()=>{mt();gi();Qr=class{constructor(t,r=1){if(this.quantum=t,this.amount=r,!Number.isInteger(this.amount)||this.amount<ba||this.amount>In)throw new Error(`Unit amount absolute value must be a non-negative integer from ${_r} to ${_r}.`)}suffix(){let t=\"\",r=Math.abs(this.amount);return r!==1&&(t+=r),this.amount<0&&(t+=\"'\"),t}isIdentical(t){return this.quantum.isIdentical(t.quantum)&&this.amount===t.amount}*experimentalExpand(t,r){let n=Math.abs(this.amount),o=ya(t,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,r)}}});var Tt,Pe,Me,No,I,xe,qr,B,Gt=y(()=>{Mt();mt();gi();Bi();pi();Ri();No=class extends zo{constructor(t,r,n){super();me(this,Tt,void 0);me(this,Pe,void 0);me(this,Me,void 0);if(le(this,Tt,t),le(this,Pe,r??null),le(this,Me,n??null),Object.freeze(this),d(this,Pe)!==null&&(!Number.isInteger(d(this,Pe))||d(this,Pe)<1||d(this,Pe)>In))throw new Error(`QuantumMove inner layer must be a positive integer below ${_r}.`);if(d(this,Me)!==null&&(!Number.isInteger(d(this,Me))||d(this,Me)<1||d(this,Me)>In))throw new Error(`QuantumMove outer layer must be a positive integer below ${_r}.`);if(d(this,Me)!==null&&d(this,Pe)!==null&&d(this,Pe)<=d(this,Me))throw new Error(\"QuantumMove outer layer must be smaller than inner layer.\");if(d(this,Me)!==null&&d(this,Pe)===null)throw new Error(\"QuantumMove with an outer layer must have an inner layer\")}static fromString(t){return va(t)}modified(t){return new No(t.family??d(this,Tt),t.innerLayer??d(this,Pe),t.outerLayer??d(this,Me))}isIdentical(t){let r=t;return t.is(No)&&d(this,Tt)===d(r,Tt)&&d(this,Pe)===d(r,Pe)&&d(this,Me)===d(r,Me)}get family(){return d(this,Tt)}get outerLayer(){return d(this,Me)}get innerLayer(){return d(this,Pe)}experimentalExpand(){throw new Error(\"experimentalExpand() cannot be called on a `QuantumMove` directly.\")}toString(){let t=d(this,Tt);return d(this,Pe)!==null&&(t=String(d(this,Pe))+t,d(this,Me)!==null&&(t=String(d(this,Me))+\"-\"+t)),t}},I=No;Tt=new WeakMap,Pe=new WeakMap,Me=new WeakMap;qr=class extends ke{constructor(...t){super();me(this,xe,void 0);if(typeof t[0]==\"string\")if(t[1]??null){le(this,xe,new Qr(I.fromString(t[0]),t[1]));return}else return qr.fromString(t[0]);le(this,xe,new Qr(t[0],t[1]))}isIdentical(t){let r=t.as(qr);return!!r&&d(this,xe).isIdentical(d(r,xe))}invert(){return wa(this,new qr(d(this,xe).quantum,-this.amount))}*experimentalExpand(t=q.Forwards){t===q.Forwards?yield this:yield this.modified({amount:-this.amount})}get quantum(){return d(this,xe).quantum}modified(t){return new qr(d(this,xe).quantum.modified(t),t.amount??this.amount)}static fromString(t){return Sa(t)}get amount(){return d(this,xe).amount}get type(){return To(\"deprecated: type\"),\"blockMove\"}get family(){return d(this,xe).quantum.family??void 0}get outerLayer(){return d(this,xe).quantum.outerLayer??void 0}get innerLayer(){return d(this,xe).quantum.innerLayer??void 0}toString(){if(this.family===\"_SLASH_\")return\"/\";if(this.family.endsWith(\"_PLUS_\"))return d(this,xe).quantum.toString().slice(0,-6)+Math.abs(this.amount)+(this.amount<0?\"-\":\"+\");if(this.family.endsWith(\"_PLUSPLUS_\")){let t=Math.abs(this.amount);return d(this,xe).quantum.toString().slice(0,-10)+(t===1?\"\":t)+(this.amount<0?\"--\":\"++\")}return d(this,xe).quantum.toString()+d(this,xe).suffix()}},B=qr;xe=new WeakMap});var ka,za,Ye,_o,nt,Go=y(()=>{It();Mt();mt();Gt();Ri();ka=class{constructor(){this.quantumU_SQ_=null;this.quantumD_SQ_=null}format(t){let r=this.tuple(t);return r?`(${r.map(n=>n.amount).join(\", \")})`:null}tuple(t){this.quantumU_SQ_||(this.quantumU_SQ_=new I(\"U_SQ_\")),this.quantumD_SQ_||(this.quantumD_SQ_=new I(\"D_SQ_\"));let r=t.alg;if(r.experimentalNumUnits()===2){let[n,o]=r.units();if(n.as(B)?.quantum.isIdentical(this.quantumU_SQ_)&&o.as(B)?.quantum.isIdentical(this.quantumD_SQ_)){if(t.amount!==1)throw new Error(\"Square-1 tuples cannot have an amount other than 1.\");return[n,o]}}return null}},za=new ka,_o=class extends ke{constructor(t,r){super();me(this,Ye,void 0);let n=Zt(t);le(this,Ye,new Qr(n,r))}isIdentical(t){let r=t;return t.is(_o)&&d(this,Ye).isIdentical(d(r,Ye))}get alg(){return d(this,Ye).quantum}get amount(){return d(this,Ye).amount}get experimentalRepetitionSuffix(){return d(this,Ye).suffix()}invert(){return new _o(d(this,Ye).quantum,-d(this,Ye).amount)}*experimentalExpand(t=q.Forwards,r){r??(r=1/0),r===0?yield t===q.Forwards?this:this.invert():yield*d(this,Ye).experimentalExpand(t,r-1)}static fromString(){throw new Error(\"unimplemented\")}toString(){return za.format(this)??`(${d(this,Ye).quantum.toString()})${d(this,Ye).suffix()}`}experimentalAsSquare1Tuple(){return za.tuple(this)}},nt=_o;Ye=new WeakMap});var Oo=y(()=>{Go();Nn();Gn();Tn();Gt();_n();On()});function ot(e,t){return e instanceof t}function Ca(e){return ot(e,nt)||ot(e,Bt)||ot(e,ze)||ot(e,Ce)||ot(e,B)||ot(e,Oe)||ot(e,We)}var di=y(()=>{Oo()});function Pa(e,t,r){if(t.is(nt))return e.traverseGrouping(t,r);if(t.is(B))return e.traverseMove(t,r);if(t.is(ze))return e.traverseCommutator(t,r);if(t.is(Ce))return e.traverseConjugate(t,r);if(t.is(We))return e.traversePause(t,r);if(t.is(Oe))return e.traverseNewline(t,r);if(t.is(Bt))return e.traverseLineComment(t,r);throw new Error(\"unknown unit\")}function Ma(e){if(e.is(nt)||e.is(B)||e.is(ze)||e.is(Ce)||e.is(We)||e.is(Oe)||e.is(Bt))return e;throw\"internal error: expected unit\"}var Wo,jr,Qo,$g,Di,Fi,Ia,Ga,Ai=y(()=>{Go();Gn();Gt();_n();On();Tn();Nn();Wo=class{traverseUnit(t,r){return Pa(this,t,r)}traverseIntoUnit(t,r){return Ma(this.traverseUnit(t,r))}},jr=class extends Wo{traverseUnit(t){return Pa(this,t,void 0)}traverseIntoUnit(t){return Ma(this.traverseUnit(t))}},Di=class extends Wo{*traverseAlg(t,r){if(r.depth===0){yield*t.units();return}let n=[],o=null,l=r?.collapseMoves??!0;function i(a,f){var L;let g=ga(L=Di,Qo,$g).call(L,a,f,r);if(g===0)return!1;let c=new B(a.quantum,g);return n.push(c),o=c,!0}function s(a){l&&o?.is(B)&&a.is(B)&&o.quantum.isIdentical(a.quantum)?(n.pop(),i(o,a.amount)||(o=n.slice(-1)[0])):a.is(B)?i(a,0):(n.push(a),o=a)}let u={depth:r.depth?r.depth-1:null};for(let a of t.units())for(let f of this.traverseUnit(a,u))s(f);for(let a of n)yield a}*traverseGrouping(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new nt(this.traverseAlg(t.alg,n))}*traverseMove(t,r){yield t}*traverseCommutator(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new ze(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traverseConjugate(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new Ce(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traversePause(t,r){yield t}*traverseNewline(t,r){yield t}*traverseLineComment(t,r){yield t}},Fi=Di;Qo=new WeakSet,$g=function(t,r,n){let o=t.amount+r;if(n?.quantumMoveOrder){let l=n.quantumMoveOrder(t.quantum),i=Math.floor(l/2)+1-l;o=(o%l+l-i)%l+i}return o},me(Fi,Qo);Ia=new Fi,Ga=Ia.traverseAlg.bind(Ia)});function Ta(e){if(!e)return[];if(ot(e,k))return e.units();if(typeof e==\"string\")return mi(e).units();let t=e;if(typeof t[Symbol.iterator]==\"function\")return t;throw\"Invalid unit\"}function Zt(e){return ot(e,k)?e:new k(e)}function e1(e,t){return e.is(Oe)||t.is(Oe)?\"\":e.is(Bt)&&!t.is(Oe)?`\n`:\" \"}var Ze,Dr,k,It=y(()=>{Mt();di();mt();Bi();Ai();Nn();Gt();_n();pi();Dr=class extends ke{constructor(t){super();me(this,Ze,void 0);le(this,Ze,Array.from(Ta(t)));for(let r of d(this,Ze))if(!Ca(r))throw new Error(\"An alg can only contain units.\")}isIdentical(t){let r=t;if(!t.is(Dr))return!1;let n=Array.from(d(this,Ze)),o=Array.from(d(r,Ze));if(n.length!==o.length)return!1;for(let l=0;l<n.length;l++)if(!n[l].isIdentical(o[l]))return!1;return!0}invert(){return new Dr(Ua(Array.from(d(this,Ze)).map(t=>t.invert())))}*experimentalExpand(t=q.Forwards,r){r??(r=1/0);for(let n of fi(d(this,Ze),t))yield*n.experimentalExpand(t,r)}expand(t){return new Dr(this.experimentalExpand(q.Forwards,t?.depth??1/0))}*experimentalLeafMoves(){for(let t of this.experimentalExpand())t.is(B)&&(yield t)}concat(t){return new Dr(Array.from(d(this,Ze)).concat(Array.from(Ta(t))))}experimentalIsEmpty(){for(let t of d(this,Ze))return!1;return!0}static fromString(t){return mi(t)}*units(){for(let t of d(this,Ze))yield t}experimentalNumUnits(){return Array.from(d(this,Ze)).length}get type(){return To(\"deprecated: type\"),\"sequence\"}toString(){let t=\"\",r=null;for(let n of d(this,Ze))r&&(t+=e1(r,n)),t+=n.toString(),r=n;return t}simplify(t){return new Dr(Ga(this,t??{}))}},k=Dr;Ze=new WeakMap});var t1,Na=y(()=>{It();Oo();Gn();Tn();Gt();On();t1={Sune:new k([new B(\"R\",1),new B(\"U\",1),new B(\"R\",-1),new B(\"U\",1),new B(\"R\",1),new B(\"U\",-2),new B(\"R\",-1)]),AntiSune:new k([new B(\"R\",1),new B(\"U\",2),new B(\"R\",-1),new B(\"U\",-1),new B(\"R\",1),new B(\"U\",-1),new B(\"R\",-1)]),SuneCommutator:new k([new ze(new k([new B(\"R\",1),new B(\"U\",1),new B(\"R\",-2)]),new k([new Ce(new k([new B(\"R\",1)]),new k([new B(\"U\",1)]))]))]),Niklas:new k([new B(\"R\",1),new B(\"U\",-1),new B(\"L\",-1),new B(\"U\",1),new B(\"R\",-1),new B(\"U\",-1),new B(\"L\",1),new B(\"U\",1)]),EPerm:new k([new B(\"x\",-1),new ze(new k([new Ce(new k([new B(\"R\",1)]),new k([new B(\"U\",-1)]))]),new k([new B(\"D\",1)])),new ze(new k([new Ce(new k([new B(\"R\",1)]),new k([new B(\"U\",1)]))]),new k([new B(\"D\",1)])),new B(\"x\",1)]),FURURFCompact:new k([new Ce(new k([new B(\"F\",1)]),new k([new ze(new k([new B(\"U\",1)]),new k([new B(\"R\",1)]))]))]),APermCompact:new k([new Ce(new k([new B(\"R\",2)]),new k([new ze(new k([new B(\"F\",2)]),new k([new B(\"R\",-1),new B(\"B\",-1),new B(\"R\",1)]))]))]),FURURFMoves:new k([new B(\"F\",1),new B(\"U\",1),new B(\"R\",1),new B(\"U\",-1),new B(\"R\",-1),new B(\"F\",-1)]),TPerm:new k([new B(\"R\",1),new B(\"U\",1),new B(\"R\",-1),new B(\"U\",-1),new B(\"R\",-1),new B(\"F\",1),new B(\"R\",2),new B(\"U\",-1),new B(\"R\",-1),new B(\"U\",-1),new B(\"R\",1),new B(\"U\",1),new B(\"R\",-1),new B(\"F\",-1)]),HeadlightSwaps:new k([new Ce(new k([new B(\"F\",1)]),new k([new nt(new k([new ze(new k([new B(\"R\",1)]),new k([new B(\"U\",1)]))]),3)]))]),TriplePause:new k([new We,new We,new We])}});var BR,_a=y(()=>{Gt();BR={73:new B(\"R\"),75:new B(\"R'\"),87:new B(\"B\"),79:new B(\"B'\"),83:new B(\"D\"),76:new B(\"D'\"),68:new B(\"L\"),69:new B(\"L'\"),74:new B(\"U\"),70:new B(\"U'\"),72:new B(\"F\"),71:new B(\"F'\"),78:new B(\"x'\"),67:new B(\"l\"),82:new B(\"l'\"),85:new B(\"r\"),77:new B(\"r'\"),88:new B(\"d\"),188:new B(\"d'\"),84:new B(\"x\"),89:new B(\"x\"),66:new B(\"x'\"),186:new B(\"y\"),59:new B(\"y\"),65:new B(\"y'\"),80:new B(\"z\"),81:new B(\"z'\"),90:new B(\"M'\"),190:new B(\"M'\")}});var Oa=y(()=>{});var Wa=y(()=>{It()});var pe=y(()=>{It();ci();Ai();Na();_a();Oo();Gt();Oa();Wa();di();mt()});function hi(e,t){if(t===Kr)return!0;let r=t.permutation,n=r.length;for(let o=0;o<n;o++)if(r[o]!==o)return!1;if(e>1){let o=t.orientation;for(let l=0;l<n;l++)if(o[l]!==0)return!1}return Kr=t,!0}function lt(e,t,r){let n={};for(let o in e.orbits){let l=e.orbits[o],i=t[o],s=r[o];if(hi(l.orientations,s))n[o]=i;else if(hi(l.orientations,i))n[o]=s;else{let u=new Array(l.numPieces);if(l.orientations===1){for(let a=0;a<l.numPieces;a++)u[a]=i.permutation[s.permutation[a]];n[o]={permutation:u,orientation:i.orientation}}else{let a=new Array(l.numPieces);for(let f=0;f<l.numPieces;f++)a[f]=(i.orientation[s.permutation[f]]+s.orientation[f])%l.orientations,u[f]=i.permutation[s.permutation[f]];n[o]={permutation:u,orientation:a}}}}return n}function Vr(e,t,r){if(r<0)return Vr(e,Nt(e,t),-r);if(r===0)return pt(e);if(r===1)return t;let n=t;r!==2&&(n=Vr(e,t,Math.floor(r/2)));let o=lt(e,n,n);return r%2==0?o:lt(e,t,o)}function pt(e){let t={};for(let r in e.orbits){let n=e.orbits[r];if(!Kr||Kr.permutation.length!==n.numPieces){let o=new Array(n.numPieces),l=new Array(n.numPieces);for(let s=0;s<n.numPieces;s++)o[s]=s,l[s]=0;Kr={permutation:o,orientation:l}}t[r]=Kr}return t}function Nt(e,t){let r={};for(let n in e.orbits){let o=e.orbits[n],l=t[n];if(hi(o.orientations,l))r[n]=l;else if(o.orientations===1){let i=new Array(o.numPieces);for(let s=0;s<o.numPieces;s++)i[l.permutation[s]]=s;r[n]={permutation:i,orientation:l.orientation}}else{let i=new Array(o.numPieces),s=new Array(o.numPieces);for(let u=0;u<o.numPieces;u++){let a=l.permutation[u];i[a]=u,s[a]=(o.orientations-l.orientation[u]+o.orientations)%o.orientations}r[n]={permutation:i,orientation:s}}}return r}function Wn(e,t,r,n,o={}){let l=e.orbits[t],i=r[t],s=n[t];for(let u=0;u<l.numPieces;u++)if(!o?.ignoreOrientation&&i.orientation[u]!==s.orientation[u]||!o?.ignorePermutation&&i.permutation[u]!==s.permutation[u])return!1;return!0}function qo(e,t,r){for(let n in e.orbits)if(!Wn(e,n,t,r))return!1;return!0}function yi(e,t,r){return qo(e,lt(e,e.startPieces,t),lt(e,e.startPieces,r))}var Kr,Qn=y(()=>{});function jo(e,t){let r=r1(e).lookupMove(t);if(!r)throw new Error(\"Unknown move: \"+t.toString());return r}function r1(e){return e.moveNotation||(e.moveNotation=new Qa(e)),e.moveNotation}var Qa,Xe,Ui=y(()=>{pe();Qn();Qa=class{constructor(t){this.def=t;this.cache={}}lookupMove(t){let r=t.toString(),n=this.cache[r];if(n)return n;let o=t.quantum.toString();return n=this.def.moves[o],n?(n=Vr(this.def,n,t.amount),this.cache[r]=n):(n=this.def.moves[t.toString()],n?this.cache[r]=n:(n=this.def.moves[t.invert().toString()],n&&(n=Vr(this.def,n,-1),this.cache[r]=n))),n}},Xe=class{constructor(t){this.definition=t;this.state=pt(t)}reset(){this.state=pt(this.definition)}serialize(){let t=\"\";for(let r in this.definition.orbits)t+=r+`\n`,t+=this.state[r].permutation.join(\" \")+`\n`,t+=this.state[r].orientation.join(\" \")+`\n`;return t=t.slice(0,t.length-1),t}applyMove(t){this.state=lt(this.definition,this.state,jo(this.definition,t))}applyAlg(t){for(let r of t.experimentalLeafMoves())this.applyMove(r)}}});var qa=y(()=>{Qn()});function n1(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function bi(e,t,r,n){this.message=e,this.expected=t,this.found=r,this.location=n,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,bi)}var ja=y(()=>{n1(bi,Error);bi.buildMessage=function(e,t){var r={literal:function(a){return'\"'+o(a.text)+'\"'},class:function(a){var f=a.parts.map(function(g){return Array.isArray(g)?l(g[0])+\"-\"+l(g[1]):l(g)});return\"[\"+(a.inverted?\"^\":\"\")+f+\"]\"},any:function(){return\"any character\"},end:function(){return\"end of input\"},other:function(a){return a.description}};function n(a){return a.charCodeAt(0).toString(16).toUpperCase()}function o(a){return a.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(f){return\"\\\\x0\"+n(f)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(f){return\"\\\\x\"+n(f)})}function l(a){return a.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(f){return\"\\\\x0\"+n(f)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(f){return\"\\\\x\"+n(f)})}function i(a){return r[a.type](a)}function s(a){var f=a.map(i),g,c;if(f.sort(),f.length>0){for(g=1,c=1;g<f.length;g++)f[g-1]!==f[g]&&(f[c]=f[g],c++);f.length=c}switch(f.length){case 1:return f[0];case 2:return f[0]+\" or \"+f[1];default:return f.slice(0,-1).join(\", \")+\", or \"+f[f.length-1]}}function u(a){return a?'\"'+o(a)+'\"':\"end of input\"}return\"Expected \"+s(e)+\" but \"+u(t)+\" found.\"}});var Ka=y(()=>{ja()});var Va=y(()=>{Ka()});var Ha=y(()=>{});var ae,xi=y(()=>{ae={name:\"3x3x3\",orbits:{EDGES:{numPieces:12,orientations:2},CORNERS:{numPieces:8,orientations:3},CENTERS:{numPieces:6,orientations:4}},startPieces:{EDGES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,0,0]}},moves:{U:{EDGES:{permutation:[1,2,3,0,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[1,0,0,0,0,0]}},y:{EDGES:{permutation:[1,2,3,0,5,6,7,4,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,3]}},x:{EDGES:{permutation:[4,8,0,9,6,10,2,11,5,7,1,3],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,3,0,1,2,2]}},L:{EDGES:{permutation:[0,1,2,11,4,5,6,9,8,3,10,7],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,1,0,0,0,0]}},F:{EDGES:{permutation:[9,1,2,3,8,5,6,7,0,4,10,11],orientation:[1,0,0,0,1,0,0,0,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,1,0,0,0]}},R:{EDGES:{permutation:[0,8,2,3,4,10,6,7,5,9,1,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,1,0,0]}},B:{EDGES:{permutation:[0,1,10,3,4,5,11,7,8,9,6,2],orientation:[0,0,1,0,0,0,1,0,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,1,0]}},D:{EDGES:{permutation:[0,1,2,3,7,4,5,6,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,0,1]}},z:{EDGES:{permutation:[9,3,11,7,8,1,10,5,0,4,2,6],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,3,1]}},M:{EDGES:{permutation:[2,1,6,3,0,5,4,7,8,9,10,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,0,0,0,2,0]}},E:{EDGES:{permutation:[0,1,2,3,4,5,6,7,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,0]}},S:{EDGES:{permutation:[0,3,2,7,4,1,6,5,8,9,10,11],orientation:[0,1,0,1,0,1,0,1,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,0,1,0,1]}},u:{EDGES:{permutation:[1,2,3,0,4,5,6,7,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,0]}},l:{EDGES:{permutation:[2,1,6,11,0,5,4,9,8,3,10,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,0,2,0]}},f:{EDGES:{permutation:[9,3,2,7,8,1,6,5,0,4,10,11],orientation:[1,1,0,1,1,1,0,1,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,0,1]}},r:{EDGES:{permutation:[4,8,0,3,6,10,2,7,5,9,1,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,0,0,1,2,2]}},b:{EDGES:{permutation:[0,5,10,1,4,7,11,3,8,9,6,2],orientation:[0,1,1,1,0,1,1,1,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,0,3,1,3]}},d:{EDGES:{permutation:[0,1,2,3,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,1]}}}};ae.moves.Uw=ae.moves.u;ae.moves.Lw=ae.moves.l;ae.moves.Fw=ae.moves.f;ae.moves.Rw=ae.moves.r;ae.moves.Bw=ae.moves.b;ae.moves.Dw=ae.moves.d;ae.moves.Rv=ae.moves.x;ae.moves.Uv=ae.moves.y;ae.moves.Fv=ae.moves.z;ae.moves.Lv={EDGES:{permutation:[2,10,6,11,0,8,4,9,1,3,5,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,3,2,0]}};ae.moves.Dv={EDGES:{permutation:[3,0,1,2,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[3,0,0,0,0,1]}};ae.moves.Bv={EDGES:{permutation:[8,5,10,1,9,7,11,3,4,0,6,2],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,3,3,1,3]}}});var Ya=y(()=>{});function Za(e){let t=e.CENTERS.permutation[0],r=e.CENTERS.permutation[5],n=e.CENTERS.permutation[1],o=n;return t<n&&o--,r<n&&o--,[t,o]}var l1,Si=y(()=>{pe();Rt();Rt();l1=new Array(6).fill(0).map(()=>new Array(6));{let e=new Xe(ae),t=[\"\",\"z\",\"x\",\"z'\",\"x'\",\"x2\"].map(n=>k.fromString(n)),r=new k(\"y\");for(let n of t){e.reset(),e.applyAlg(n);for(let o=0;o<4;o++){e.applyAlg(r);let[l,i]=Za(e.state);l1[l][i]=Nt(ae,e.state)}}}});var vi=y(()=>{Ya();Si()});var Ja=y(()=>{});var $a=y(()=>{vi();Ja();Si();vi()});var e0=y(()=>{$a();xi();Qn()});var Rt=y(()=>{Ui();qa();Qn();Va();Ha();xi();e0();Ui()});var t0=y(()=>{});function B1(e){switch(e){case x.Regular:return i1;case x.Dim:return c1;case x.Ignored:return s1;case x.OrientationStickers:return a1;case x.Invisible:return u1;case x.IgnoreNonPrimary:return f1;case x.PermuteNonPrimary:return g1;case x.Ignoriented:return L1;case x.OrientationWithoutPermutation:return m1}}var x,Hr,vt,Ie,Yr,Ko,Ar,i1,s1,a1,u1,f1,g1,c1,L1,m1,qn,jn,Kn=y(()=>{pe();pe();Rt();(function(a){a.Regular=\"Regular\",a.Dim=\"Dim\",a.Ignored=\"Ignored\",a.OrientationStickers=\"OrientationStickers\",a.Invisible=\"Invisible\",a.Ignoriented=\"Ignoriented\",a.IgnoreNonPrimary=\"IgnoreNonPrimary\",a.PermuteNonPrimary=\"PermuteNonPrimary\",a.OrientationWithoutPermutation=\"OrientationWithoutPermutation\"})(x||(x={}));Hr=class{constructor(t,r){this.stickerings=new Map;for(let[n,o]of Object.entries(t.orbits))this.stickerings.set(n,new Array(o.numPieces).fill(r))}},vt=\"regular\",Ie=\"ignored\",Yr=\"oriented\",Ko=\"invisible\",Ar=\"dim\",i1={facelets:[vt,vt,vt,vt,vt]},s1={facelets:[Ie,Ie,Ie,Ie,Ie]},a1={facelets:[Yr,Yr,Yr,Yr,Yr]},u1={facelets:[Ko,Ko,Ko,Ko]},f1={facelets:[vt,Ie,Ie,Ie,Ie]},g1={facelets:[Ar,vt,vt,vt,vt]},c1={facelets:[Ar,Ar,Ar,Ar,Ar]},L1={facelets:[Ar,Ie,Ie,Ie,Ie]},m1={facelets:[Yr,Ie,Ie,Ie,Ie]};qn=class extends Hr{constructor(t){super(t,x.Regular)}set(t,r){for(let[n,o]of this.stickerings.entries())for(let l=0;l<o.length;l++)t.stickerings.get(n)[l]&&(o[l]=r);return this}toAppearance(){let t={orbits:{}};for(let[r,n]of this.stickerings.entries()){let o=[],l={pieces:o};t.orbits[r]=l;for(let i of n)o.push(B1(i))}return t}},jn=class{constructor(t){this.def=t}and(t){let r=new Hr(this.def,!1);for(let[n,o]of Object.entries(this.def.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!0;for(let i of t)if(!i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!1;continue e}}}return r}or(t){let r=new Hr(this.def,!1);for(let[n,o]of Object.entries(this.def.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!1;for(let i of t)if(i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!0;continue e}}}return r}not(t){let r=new Hr(this.def,!1);for(let[n,o]of Object.entries(this.def.orbits))for(let l=0;l<o.numPieces;l++)r.stickerings.get(n)[l]=!t.stickerings.get(n)[l];return r}all(){return this.and(this.moves([]))}move(t){let r=jo(this.def,ot(t,B)?t:B.fromString(t)),n=new Hr(this.def,!1);for(let[o,l]of Object.entries(this.def.orbits))for(let i=0;i<l.numPieces;i++)(r[o].permutation[i]!==i||r[o].orientation[i]!==0)&&(n.stickerings.get(o)[i]=!0);return n}moves(t){return t.map(r=>this.move(r))}}});function p1(e){(async()=>{r0=e;let t=Array.from(document.body.querySelectorAll(\"twisty-player\"));console.log(`Setting the custom stickering for ${t.length} players!`);let r=[];for(let n of t)r.push((async()=>{let o=await n.experimentalModel.stickeringProp.get();n.experimentalStickering=o===\"experimental-global-custom-1\"?\"experimental-global-custom-2\":\"experimental-global-custom-1\"})());await Promise.all(r),console.log(\"Success!\")})()}function n0(e,t){r0(e,t)}var r0,o0=y(()=>{Kn();r0=()=>{};globalThis.location&&new URL(location.href).searchParams.get(\"global-custom-stickerer\")===\"true\"&&(window.setGlobalCustomStickerer=p1,window.PieceStickering=x,console.log(\"Global custom stickerer enabled! (using: global-custom-stickerer=true)\"),console.log(\"Look here for inspiration:\",\"https://github.com/cubing/cubing.js/blob/81b5cab3e27d8defb39dd1e0a10bc9e8ba894d26/src/cubing/puzzles/stickerings/cube-stickerings.ts#L67\"))});async function dt(e,t){let r=await e.def(),n=new qn(r),o=new jn(r),l=()=>o.move(\"U\"),i=()=>o.or(o.moves([\"U\",\"D\"])),s=()=>o.not(i()),u=()=>o.or(o.moves([\"L\",\"R\"])),a=()=>o.not(u()),f=()=>o.or(o.moves([\"F\",\"B\"])),g=()=>o.not(f()),c=()=>o.not(l()),L=()=>o.and([l(),a(),g()]),p=()=>o.and([o.and(o.moves([\"F\",\"R\"])),o.not(i())]),m=()=>o.and(o.moves([\"D\",\"R\",\"F\"])),D=()=>o.or([m(),p()]),A=()=>o.or([o.and([a(),s()]),o.and([a(),g()]),o.and([s(),g()])]),b=()=>o.or([o.and([a(),i(),f()]),o.and([s(),u(),f()]),o.and([g(),i(),u()])]),h=()=>o.not(o.or([A(),b()])),C=()=>o.or([a(),o.and([l(),b()])]);function E(){n.set(c(),x.Dim)}function j(){n.set(l(),x.PermuteNonPrimary),n.set(L(),x.Dim)}function ee(){n.set(l(),x.IgnoreNonPrimary),n.set(L(),x.Regular)}function T(){n.set(l(),x.Ignoriented),n.set(L(),x.Dim)}switch(t){case\"full\":break;case\"PLL\":E(),j();break;case\"CLS\":E(),n.set(o.and(o.moves([\"D\",\"R\",\"F\"])),x.Regular),n.set(l(),x.Ignoriented),n.set(o.and([l(),h()]),x.IgnoreNonPrimary);break;case\"OLL\":E(),ee();break;case\"COLL\":E(),j(),n.set(o.and([l(),h()]),x.Regular);break;case\"OCLL\":E(),T(),n.set(o.and([l(),h()]),x.IgnoreNonPrimary);break;case\"CLL\":E(),n.set(o.not(o.and([h(),l()])),x.Dim);break;case\"ELL\":E(),n.set(l(),x.Dim),n.set(o.and([l(),b()]),x.Regular);break;case\"ELS\":E(),ee(),n.set(o.and([l(),h()]),x.Ignored),n.set(p(),x.Regular),n.set(m(),x.Ignored);break;case\"LL\":E();break;case\"F2L\":n.set(l(),x.Ignored);break;case\"ZBLL\":E(),n.set(l(),x.PermuteNonPrimary),n.set(L(),x.Dim),n.set(o.and([l(),h()]),x.Regular);break;case\"ZBLS\":E(),n.set(D(),x.Regular),ee(),n.set(o.and([l(),h()]),x.Ignored);break;case\"WVLS\":case\"VLS\":E(),n.set(D(),x.Regular),ee();break;case\"LS\":E(),n.set(D(),x.Regular),n.set(l(),x.Ignored),n.set(L(),x.Dim);break;case\"EO\":n.set(h(),x.Ignored),n.set(b(),x.OrientationWithoutPermutation);break;case\"EOline\":n.set(h(),x.Ignored),n.set(b(),x.OrientationWithoutPermutation),n.set(o.and(o.moves([\"D\",\"M\"])),x.Regular);break;case\"EOcross\":n.set(b(),x.OrientationWithoutPermutation),n.set(o.move(\"D\"),x.Regular),n.set(h(),x.Ignored);break;case\"CMLL\":n.set(c(),x.Dim),n.set(C(),x.Ignored),n.set(o.and([l(),h()]),x.Regular);break;case\"L6E\":n.set(o.not(C()),x.Dim);break;case\"L6EO\":n.set(o.not(C()),x.Dim),n.set(C(),x.OrientationWithoutPermutation),n.set(o.and([A(),i()]),x.OrientationStickers);break;case\"Daisy\":n.set(o.all(),x.Ignored),n.set(A(),x.Dim),n.set(o.and([o.move(\"D\"),A()]),x.Regular),n.set(o.and([o.move(\"U\"),b()]),x.IgnoreNonPrimary);break;case\"Cross\":n.set(o.all(),x.Ignored),n.set(A(),x.Dim),n.set(o.and([o.move(\"D\"),A()]),x.Regular),n.set(o.and([o.move(\"D\"),b()]),x.Regular);break;case\"2x2x2\":n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),x.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),A()]),x.Dim);break;case\"2x2x3\":n.set(o.all(),x.Dim),n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),x.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),A()]),x.Dim),n.set(o.and([o.move(\"F\"),o.not(o.or(o.moves([\"U\",\"R\"])))]),x.Regular);break;case\"Void Cube\":n.set(A(),x.Invisible);break;case\"picture\":case\"invisible\":n.set(o.all(),x.Invisible);break;case\"centers-only\":n.set(o.not(A()),x.Ignored);break;case\"experimental-global-custom-1\":case\"experimental-global-custom-2\":n0(n,o);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),x.Dim)}return n.toAppearance()}async function Zr(){return[\"full\",\"PLL\",\"CLS\",\"OLL\",\"COLL\",\"OCLL\",\"ELL\",\"ELS\",\"LL\",\"F2L\",\"ZBLL\",\"ZBLS\",\"WVLS\",\"VLS\",\"LS\",\"EO\",\"EOline\",\"EOcross\",\"CMLL\",\"L6E\",\"L6EO\",\"Daisy\",\"Cross\",\"2x2x2\",\"2x2x3\",\"Void Cube\",\"picture\",\"invisible\",\"centers-only\",\"experimental-global-custom-1\",\"experimental-global-custom-2\"]}var Xr=y(()=>{Kn();o0()});var Vn,l0=y(()=>{Vn=class{constructor(t,r){this.facenames=t;this.prefixFree=!0;this.gripnames=[];r&&(this.gripnames=r);for(let n=0;this.prefixFree&&n<t.length;n++)for(let o=0;this.prefixFree&&o<t.length;o++)n!==o&&t[n].startsWith(t[o])&&(this.prefixFree=!1)}setGripNames(t){this.gripnames=t}splitByFaceNames(t){let r=[],n=0;for(;n<t.length;){n>0&&n<t.length&&t[n]===\"_\"&&n++;let o=-1;for(let l=0;l<this.facenames.length;l++)t.substr(n).startsWith(this.facenames[l])&&(o<0||this.facenames[l].length>this.facenames[o].length)&&(o=l);if(o>=0)r.push(o),n+=this.facenames[o].length;else throw new Error(\"Could not split \"+t+\" into face names.\")}return r}joinByFaceIndices(t){let r=\"\",n=[];for(let o=0;o<t.length;o++)n.push(r),n.push(this.facenames[t[o]]),this.prefixFree||(r=\"_\");return n.join(\"\")}spinmatch(t,r){if(t===r)return!0;try{let n=this.splitByFaceNames(t),o=this.splitByFaceNames(r);if(n.length!==o.length&&n.length<3)return!1;for(let l=0;l<n.length;l++){for(let s=0;s<l;s++)if(n[l]===n[s])return!1;let i=!1;for(let s=0;s<o.length;s++)if(n[l]===o[s]){i=!0;break}if(!i)return!1}return!0}catch(n){return!1}}unswizzle(t){(t.endsWith(\"v\")||t.endsWith(\"w\"))&&t[0]<=\"Z\"&&(t=t.slice(0,t.length-1));let r=t.toUpperCase();for(let n=0;n<this.gripnames.length;n++){let o=this.gripnames[n];if(this.spinmatch(r,o))return o}return t}}});var Jr,i0=y(()=>{Jr=class{notationToInternal(t){return t}notationToExternal(t){return t}}});var Vo,s0=y(()=>{pe();Vo=class{constructor(t,r){this.child=t;this.sw=r}notationToInternal(t){return t.family===\"T\"&&t.innerLayer===void 0&&t.outerLayer===void 0?new B(new I(\"FLRv\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToInternal(t)}notationToExternal(t){let r=t.family;return r.length>0&&r[r.length-1]===\"v\"&&(r=r.substring(0,r.length-1)),this.sw.spinmatch(r,\"FLUR\")?new B(new I(\"T\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToExternal(t)}}});var Hn,a0=y(()=>{pe();Hn=class{constructor(t,r){this.internalNames=t;this.externalNames=r}convertString(t,r,n){let o=\"\";(t.endsWith(\"v\")||t.endsWith(\"v\"))&&t<=\"_\"&&(o=t.slice(t.length-1),t=t.slice(0,t.length-1));let l=t.toUpperCase(),i=!1;return t!==l&&(i=!0,t=l),t=n.joinByFaceIndices(r.splitByFaceNames(t)),i&&(t=t.toLowerCase()),t+o}convert(t,r,n){let o=t.family,l=this.convertString(o,r,n);return o===l?t:new B(new I(l,t.innerLayer,t.outerLayer),t.amount)}notationToInternal(t){return this.convert(t,this.externalNames,this.internalNames)}notationToExternal(t){return this.convert(t,this.internalNames,this.externalNames)}}});var Ho,u0=y(()=>{pe();Ho=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer===void 0&&t.outerLayer===void 0){if(Math.abs(t.amount)===1){if(t.family===\"R++\")return new B(new I(\"L\",3,2),-2*t.amount);if(t.family===\"R--\")return new B(new I(\"L\",3,2),2*t.amount);if(t.family===\"D++\")return new B(new I(\"U\",3,2),-2*t.amount);if(t.family===\"D--\")return new B(new I(\"U\",3,2),2*t.amount);if(t.family===\"R_PLUSPLUS_\")return new B(new I(\"L\",3,2),-2*t.amount);if(t.family===\"D_PLUSPLUS_\")return new B(new I(\"U\",3,2),-2*t.amount)}if(t.family===\"y\")return new B(\"Uv\",t.amount)}return this.child.notationToInternal(t)}notationToExternal(t){return t.family===\"Uv\"?new B(new I(\"y\",t.innerLayer,t.outerLayer),t.amount):t.family===\"Dv\"?new B(\"y\",-t.amount):this.child.notationToExternal(t)}}});var Yo,f0=y(()=>{pe();Yo=class{constructor(t){this.slices=t}notationToInternal(t){let r=t.family;return!t.innerLayer&&!t.outerLayer&&(r===\"x\"?t=new B(\"Rv\",t.amount):r===\"y\"?t=new B(\"Uv\",t.amount):r===\"z\"&&(t=new B(\"Fv\",t.amount)),(this.slices&1)==1&&(r===\"E\"?t=new B(new I(\"D\",(this.slices+1)/2),t.amount):r===\"M\"?t=new B(new I(\"L\",(this.slices+1)/2),t.amount):r===\"S\"&&(t=new B(new I(\"F\",(this.slices+1)/2),t.amount))),this.slices>2&&(r===\"e\"?t=new B(new I(\"D\",this.slices-1,2),t.amount):r===\"m\"?t=new B(new I(\"L\",this.slices-1,2),t.amount):r===\"s\"&&(t=new B(new I(\"F\",this.slices-1,2),t.amount)))),t}notationToExternal(t){let r=t.family;if(!t.innerLayer&&!t.outerLayer){if(r===\"Rv\")return new B(\"x\",t.amount);if(r===\"Uv\")return new B(\"y\",t.amount);if(r===\"Fv\")return new B(\"z\",t.amount);if(r===\"Lv\")return new B(\"x\",-t.amount);if(r===\"Dv\")return new B(\"y\",-t.amount);if(r===\"Bv\")return new B(\"z\",-t.amount)}return t}}});var R1,d1,g0,c0,L0,Yn,Zo,m0=y(()=>{pe();R1={U:\"frl\",L:\"fld\",R:\"fdr\",B:\"dlr\",u:\"FRL\",l:\"FLD\",r:\"FDR\",b:\"DLR\",Uv:\"FRLv\",Lv:\"FLDv\",Rv:\"FDRv\",Bv:\"DLRv\",D:\"D\",F:\"F\",BL:\"L\",BR:\"R\"},d1={U:\"FRL\",L:\"FLD\",R:\"FDR\",B:\"DLR\",u:\"frl\",l:\"fld\",r:\"fdr\",b:\"dlr\",Uv:\"FRLv\",Lv:\"FLDv\",Rv:\"FDRv\",Bv:\"DLRv\",D:\"D\",F:\"F\",BL:\"L\",BR:\"R\",d:\"d\",f:\"f\",bl:\"l\",br:\"r\"},g0={U:\"FRL\",L:\"FLD\",R:\"FDR\",B:\"DLR\"},c0=new I(\"y\"),L0=new I(\"Dv\"),Yn=class{constructor(t){this.child=t;this.wcaHack=!1;this.map=R1}notationToInternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){let n=g0[t.family];if(n)return new B(new I(n,t.innerLayer,t.outerLayer),t.amount)}let r=this.map[t.family];return r?new B(new I(r,t.innerLayer,t.outerLayer),t.amount):c0.isIdentical(t.quantum)?new B(L0,-t.amount):null}notationToExternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){for(let[r,n]of Object.entries(g0))if(this.child.spinmatch(t.family,n))return new B(new I(r,t.innerLayer,t.outerLayer),t.amount)}for(let[r,n]of Object.entries(this.map))if(this.child.spinmatch(t.family,n))return new B(new I(r,t.innerLayer,t.outerLayer),t.amount);return L0.isIdentical(t.quantum)?new B(c0,-t.amount):null}},Zo=class extends Yn{constructor(t){super(t);this.map=d1}}});var B0,p0,R0,d0,F0,D0,A0,Xo,h0=y(()=>{pe();B0={U:\"UBL\",UL:\"ULF\",F:\"UFR\",UR:\"URB\",B:\"DBL\",D:\"DFR\",L:\"DLF\",R:\"DRB\",Uv:\"UBLv\",ULv:\"ULFv\",Fv:\"UFRv\",URv:\"URBv\",Bv:\"DBLv\",Dv:\"DFRv\",Lv:\"DLFv\",Rv:\"DRBv\"},p0=new I(\"x\"),R0=new I(\"Rv\"),d0=new I(\"y\"),F0=new I(\"Uv\"),D0=new I(\"z\"),A0=new I(\"Fv\"),Xo=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer||t.outerLayer)return null;let r=B0[t.family];return r?new B(new I(r,t.outerLayer,t.innerLayer),t.amount):p0.isIdentical(t.quantum)?new B(R0,t.amount):d0.isIdentical(t.quantum)?new B(F0,t.amount):D0.isIdentical(t.quantum)?new B(A0,t.amount):null}notationToExternal(t){for(let[r,n]of Object.entries(B0))if(this.child.spinmatch(t.family,n))return new B(new I(r,t.innerLayer,t.outerLayer),t.amount);return R0.isIdentical(t.quantum)?new B(p0,t.amount):F0.isIdentical(t.quantum)?new B(d0,t.amount):A0.isIdentical(t.quantum)?new B(D0,t.amount):null}}});var wi=y(()=>{i0();s0();a0();u0();f0();m0();h0()});function y0(e){let t=0,r={};for(;t<e.length&&e[t][0]===\"-\";){let o=e[t++];if(o===\"--rotations\")r.addRotations=!0;else if(o===\"--allmoves\")r.allMoves=!0;else if(o===\"--outerblockmoves\")r.outerBlockMoves=!0;else if(o===\"--vertexmoves\")r.vertexMoves=!0;else if(o===\"--nocorners\")r.includeCornerOrbits=!1;else if(o===\"--noedges\")r.includeEdgeOrbits=!1;else if(o===\"--noorientation\")r.fixedOrientation=!0;else if(o===\"--nocenters\")r.includeCenterOrbits=!1;else if(o===\"--omit\")r.excludeOrbits=e[t].split(\",\"),t++;else if(o===\"--moves\")r.moveList=e[t].split(\",\"),t++;else if(o===\"--optimize\")r.optimizeOrbits=!0;else if(o===\"--scramble\")r.scrambleAmount=100;else if(o===\"--fixcorner\")r.fixedPieceType=\"v\";else if(o===\"--fixedge\")r.fixedPieceType=\"e\";else if(o===\"--fixcenter\")r.fixedPieceType=\"f\";else if(o===\"--orientcenters\")r.orientCenters=!0;else if(o===\"--puzzleorientation\")r.puzzleOrientation=JSON.parse(e[t]),t++;else throw new Error(\"Bad option: \"+o)}return{puzzleDescription:Zn(e.slice(t).join(\" \")),options:r}}var Ei,ki=y(()=>{zi();Ei=class{constructor(t={}){this.verbosity=0;this.allMoves=!1;this.vertexMoves=!1;this.addRotations=!1;this.moveList=null;this.fixedOrientation=!1;this.fixedPieceType=null;this.orientCenters=!1;this.includeCornerOrbits=!0;this.includeCenterOrbits=!0;this.includeEdgeOrbits=!0;this.excludeOrbits=[];this.optimizeOrbits=!1;this.grayCorners=!1;this.grayCenters=!1;this.grayEdges=!1;this.puzzleOrientation=null;this.puzzleOrientations=null;this.scrambleAmount=0;Object.assign(this,t)}}});function Jt(e){if(!Ci[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=0;Ci[e]=t}return Ci[e]}function wt(e){if(!Pi[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=r;Pi[e]=t}return Pi[e]}function U0(e){return new ut(wt(e))}function b0(e){let t=1;for(;e>1;)t*=e,e--;return t}function F1(e,t){if(e>t){let r=e;e=t,t=r}for(;e>0;){let r=t%e;t=e,e=r}return t}function Mi(e,t){return e/F1(e,t)*t}var Ci,Pi,ut,Jo=y(()=>{Ci=[],Pi=[];ut=class{constructor(t){this.n=t.length,this.p=t}toString(){return\"Perm[\"+this.p.join(\" \")+\"]\"}mul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=t.p[this.p[n]];return new ut(r)}rmul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=this.p[t.p[n]];return new ut(r)}inv(){let t=Array(this.n);for(let r=0;r<this.n;r++)t[this.p[r]]=r;return new ut(t)}compareTo(t){for(let r=0;r<this.n;r++)if(this.p[r]!==t.p[r])return this.p[r]-t.p[r];return 0}toGap(){let t=new Array,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=new Array;for(let l=n;!r[l];l=this.p[l])o.push(1+l),r[l]=!0;t.push(\"(\"+o.join(\",\")+\")\")}return t.join(\"\")}order(){let t=1,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=0;for(let l=n;!r[l];l=this.p[l])o++,r[l]=!0;t=Mi(t,o)}return t}}});function Ii(e,t){let r=B.fromString(t),n=e.notationToExternal(r);return n===null||r===n?t:n.toString()}function x0(e,t){let r=e.moveops.length;if(r>30)throw new Error(\"Canon info too big for bitmask\");let n=[],o=[];for(let i=0;i<r;i++){let s=e.moveops[i];n.push(s.order());let u=0;for(let a=0;a<r;a++){if(a===i)continue;let f=e.moveops[a];s.mul(f).equal(f.mul(s))&&(u|=1<<a)}o.push(u)}let l={};l[0]=1;for(let i=0;i<100;i++){let s=0,u={},a=0;for(let f in l){let g=+f,c=l[g];s+=c,a++;for(let L=0;L<n.length;L++)if((g>>L&1)==0&&(g&o[L]&(1<<L)-1)==0){let p=g&o[L]|1<<L;u[p]===void 0&&(u[p]=0),u[p]+=(n[L]-1)*c}}t(`${i}: canonseq ${s} states ${a}`),l=u}}var Xn,$r,Ft,_t,Gi,$t,en,Ti,S0=y(()=>{pe();wi();Jo();Xn=class{constructor(t,r){this.size=t;this.mod=r}reassemblySize(){return b0(this.size)*Math.pow(this.mod,this.size)}};$r=class{constructor(t,r,n,o,l){this.orbitnames=t;this.orbitdefs=r;this.solved=n;this.movenames=o;this.moveops=l}transformToKPuzzle(t){let r={};for(let n=0;n<this.orbitnames.length;n++)r[this.orbitnames[n]]=t.orbits[n].toKPuzzle();return r}static transformToKPuzzle(t,r){let n={};for(let o=0;o<t.length;o++)n[t[o]]=r.orbits[o].toKPuzzle();return n}toKsolve(t,r=new Jr){let n=[];n.push(\"Name \"+t),n.push(\"\");for(let o=0;o<this.orbitnames.length;o++)n.push(`Set ${this.orbitnames[o]} ${this.orbitdefs[o].size} ${this.orbitdefs[o].mod}`);n.push(\"\"),n.push(\"Solved\");for(let o=0;o<this.orbitnames.length;o++)this.solved.orbits[o].appendDefinition(n,this.orbitnames[o],!1,!1);n.push(\"End\");for(let o=0;o<this.movenames.length;o++){n.push(\"\");let l=Ii(r,this.movenames[o]),i=!1;l[l.length-1]===\"'\"&&(i=!0,l=l.substring(0,l.length-1)),n.push(\"Move \"+l);for(let s=0;s<this.orbitnames.length;s++)i?this.moveops[o].orbits[s].inv().appendDefinition(n,this.orbitnames[s],!0):this.moveops[o].orbits[s].appendDefinition(n,this.orbitnames[s],!0);n.push(\"End\")}return n}toKPuzzle(t){let r={},n={};for(let l=0;l<this.orbitnames.length;l++)r[this.orbitnames[l]]={numPieces:this.orbitdefs[l].size,orientations:this.orbitdefs[l].mod},n[this.orbitnames[l]]=this.solved.orbits[l].toKPuzzle();let o={};if(t)for(let l=0;l<this.movenames.length;l++)o[this.movenames[l]]=this.transformToKPuzzle(this.moveops[l]);return{name:\"PG3D\",orbits:r,startPieces:n,moves:o}}optimize(){let t=[],r=[],n=[],o=[];for(let l=0;l<this.moveops.length;l++)o.push([]);for(let l=0;l<this.orbitdefs.length;l++){let i=this.orbitdefs[l].mod,s=this.orbitdefs[l].size,u=new Ti(s),a=new Array(this.orbitdefs[l].size);for(let L=0;L<s;L++)a[L]=!1;for(let L=0;L<this.moveops.length;L++)for(let p=0;p<s;p++)(this.moveops[L].orbits[l].perm[p]!==p||this.moveops[L].orbits[l].ori[p]!==0)&&(a[p]=!0,u.union(p,this.moveops[L].orbits[l].perm[p]));let f=!0;if(i>1){f=!1;let L=new Ti(this.orbitdefs[l].size*i);for(let p=0;p<this.moveops.length;p++)for(let m=0;m<s;m++)if(this.moveops[p].orbits[l].perm[m]!==m||this.moveops[p].orbits[l].ori[m]!==0)for(let D=0;D<i;D++)L.union(m*i+D,this.moveops[p].orbits[l].perm[m]*i+(D+this.moveops[p].orbits[l].ori[m])%i);for(let p=0;!f&&p<s;p++)for(let m=1;m<i;m++)L.find(p*i)===L.find(p*i+m)&&(f=!0);for(let p=0;!f&&p<s;p++)for(let m=0;m<p;m++)this.solved.orbits[l].perm[p]===this.solved.orbits[l].perm[m]&&(f=!0)}let g=-1,c=!1;for(let L=0;L<this.orbitdefs[l].size;L++)if(a[L]){let p=u.find(L);g<0?g=p:g!==p&&(c=!0)}for(let L=0;L<this.orbitdefs[l].size;L++){if(!a[L]||u.find(L)!==L)continue;let m=[],D=[],A=0;for(let b=0;b<this.orbitdefs[l].size;b++)u.find(b)===L&&(m[A]=b,D[b]=A,A++);if(c?t.push(`${this.orbitnames[l]}_p${L}`):t.push(this.orbitnames[l]),f){r.push(new Xn(A,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(m,A));for(let b=0;b<this.moveops.length;b++)o[b].push(this.moveops[b].orbits[l].remap(m,D,A))}else{r.push(new Xn(A,1)),n.push(this.solved.orbits[l].remapVS(m,A).killOri());for(let b=0;b<this.moveops.length;b++)o[b].push(this.moveops[b].orbits[l].remap(m,D,A).killOri())}}}return new $r(t,r,new en(n),this.movenames,o.map(l=>new $t(l)))}scramble(t){let r=[];for(let o=0;o<this.moveops.length;o++)r[o]=this.moveops[o];for(let o=0;o<r.length;o++){let l=Math.floor(Math.random()*r.length),i=r[o];r[o]=r[l],r[l]=i}t<r.length&&(t=r.length);for(let o=0;o<t;o++){let l=Math.floor(Math.random()*r.length),i=Math.floor(Math.random()*r.length),s=Math.floor(Math.random()*this.moveops.length);r[l]=r[l].mul(r[i]).mul(this.moveops[s]),Math.random()<.1&&(r[l]=r[l].mul(this.moveops[s]))}let n=r[0];for(let o=1;o<r.length;o++)n=n.mul(r[o]);this.solved=this.solved.mul(n)}reassemblySize(){let t=1;for(let r=0;r<this.orbitdefs.length;r++)t*=this.orbitdefs[r].reassemblySize();return t}},Ft=class{constructor(t,r,n){this.perm=t;this.ori=r;this.orimod=n}static e(t,r){return new Ft(wt(t),Jt(t),r)}mul(t){let r=this.perm.length,n=new Array(r);if(this.orimod===1){for(let o=0;o<r;o++)n[o]=this.perm[t.perm[o]];return new Ft(n,this.ori,this.orimod)}else{let o=new Array(r);for(let l=0;l<r;l++)n[l]=this.perm[t.perm[l]],o[l]=(this.ori[t.perm[l]]+t.ori[l])%this.orimod;return new Ft(n,o,this.orimod)}}inv(){let t=this.perm.length,r=new Array(t),n=new Array(t);for(let o=0;o<t;o++)r[this.perm[o]]=o,n[this.perm[o]]=(this.orimod-this.ori[o])%this.orimod;return new Ft(r,n,this.orimod)}equal(t){let r=this.perm.length;for(let n=0;n<r;n++)if(this.perm[n]!==t.perm[n]||this.ori[n]!==t.ori[n])return!1;return!0}killOri(){let t=this.perm.length;for(let r=0;r<t;r++)this.ori[r]=0;return this.orimod=1,this}toPerm(){let t=this.orimod;if(t===1)return new ut(this.perm);let r=this.perm.length,n=new Array(r*t);for(let o=0;o<r;o++)for(let l=0;l<t;l++)n[o*t+l]=t*this.perm[o]+(this.ori[o]+l)%t;return new ut(n)}identicalPieces(){let t=[],r=this.perm.length,n=[];for(let o=0;o<r;o++){let l=this.perm[o];if(t[l]===void 0){let i=[o];t[l]=!0;for(let s=o+1;s<r;s++)this.perm[s]===l&&i.push(s);n.push(i)}}return n}order(){return this.toPerm().order()}isIdentity(){let t=this.perm.length;if(this.perm===wt(t)&&this.ori===Jt(t))return!0;for(let r=0;r<t;r++)if(this.perm[r]!==r||this.ori[r]!==0)return!1;return!0}zeroOris(){let t=this.perm.length;if(this.ori===Jt(t))return!0;for(let r=0;r<t;r++)if(this.ori[r]!==0)return!1;return!0}remap(t,r,n){let o=new Array(n),l=new Array(n);for(let i=0;i<n;i++)o[i]=r[this.perm[t[i]]],l[i]=this.ori[t[i]];return new Ft(o,l,this.orimod)}remapVS(t,r){let n=new Array(r),o=new Array(r),l=0,i=[];for(let s=0;s<r;s++){let u=this.perm[t[s]];i[u]===void 0&&(i[u]=l++),n[s]=i[u],o[s]=this.ori[t[s]]}return new Ft(n,o,this.orimod)}appendDefinition(t,r,n,o=!0){if(!(o&&this.isIdentity())&&(t.push(r),t.push(this.perm.map(l=>l+1).join(\" \")),!this.zeroOris()))if(n){let l=new Array(this.ori.length);for(let i=0;i<l.length;i++)l[this.perm[i]]=this.ori[i];t.push(l.join(\" \"))}else t.push(this.ori.join(\" \"))}toKPuzzle(){let t=this.perm.length;return this.isIdentity()?(Ft.kcache[t]||(Ft.kcache[t]={permutation:wt(t),orientation:Jt(t)}),Ft.kcache[t]):{permutation:this.perm,orientation:this.ori}}},_t=Ft;_t.kcache=[];Gi=class{constructor(t){this.orbits=t}internalMul(t){let r=[];for(let n=0;n<this.orbits.length;n++)r.push(this.orbits[n].mul(t.orbits[n]));return r}internalInv(){let t=[];for(let r of this.orbits)t.push(r.inv());return t}equal(t){for(let r=0;r<this.orbits.length;r++)if(!this.orbits[r].equal(t.orbits[r]))return!1;return!0}killOri(){for(let t of this.orbits)t.killOri();return this}toPerm(){let t=new Array,r=0;for(let o of this.orbits){let l=o.toPerm();t.push(l),r+=l.n}let n=new Array(r);r=0;for(let o of t){for(let l=0;l<o.n;l++)n[r+l]=r+o.p[l];r+=o.n}return new ut(n)}identicalPieces(){let t=[],r=0;for(let n of this.orbits){let o=n.orimod,l=n.identicalPieces();for(let i=0;i<l.length;i++)t.push(l[i].map(s=>s*o+r));r+=o*n.perm.length}return t}order(){let t=1;for(let r of this.orbits)t=Mi(t,r.order());return t}},$t=class extends Gi{constructor(t){super(t)}mul(t){return new $t(this.internalMul(t))}mulScalar(t){if(t===0)return this.e();let r=this;for(t<0&&(r=r.inv(),t=-t);(t&1)==0;)r=r.mul(r),t>>=1;if(t===1)return r;let n=r,o=this.e();for(;t>0;)t&1&&(o=o.mul(n)),t>1&&(n=n.mul(n)),t>>=1;return o}inv(){return new $t(this.internalInv())}e(){return new $t(this.orbits.map(t=>_t.e(t.perm.length,t.orimod)))}},en=class extends Gi{constructor(t){super(t)}mul(t){return new en(this.internalMul(t))}},Ti=class{constructor(t){this.n=t;this.heads=new Array(t);for(let r=0;r<t;r++)this.heads[r]=r}find(t){let r=this.heads[t];return this.heads[r]===r||(r=this.find(this.heads[r]),this.heads[t]=r),r}union(t,r){let n=this.find(t),o=this.find(r);n<o?this.heads[o]=n:n>o&&(this.heads[n]=o)}}});var $o,v0=y(()=>{$o={\"2x2x2\":\"c f 0\",\"3x3x3\":\"c f 0.333333333333333\",\"4x4x4\":\"c f 0.5 f 0\",\"5x5x5\":\"c f 0.6 f 0.2\",\"6x6x6\":\"c f 0.666666666666667 f 0.333333333333333 f 0\",\"7x7x7\":\"c f 0.714285714285714 f 0.428571428571429 f 0.142857142857143\",\"8x8x8\":\"c f 0.75 f 0.5 f 0.25 f 0\",\"9x9x9\":\"c f 0.777777777777778 f 0.555555555555556 f 0.333333333333333 f 0.111111111111111\",\"10x10x10\":\"c f 0.8 f 0.6 f 0.4 f 0.2 f 0\",\"11x11x11\":\"c f 0.818181818181818 f 0.636363636363636 f 0.454545454545455 f 0.272727272727273 f 0.0909090909090909\",\"12x12x12\":\"c f 0.833333333333333 f 0.666666666666667 f 0.5 f 0.333333333333333 f 0.166666666666667 f 0\",\"13x13x13\":\"c f 0.846153846153846 f 0.692307692307692 f 0.538461538461538 f 0.384615384615385 f 0.230769230769231 f 0.0769230769230769\",\"20x20x20\":\"c f 0 f .1 f .2 f .3 f .4 f .5 f .6 f .7 f .8 f .9\",\"30x30x30\":\"c f 0 f .066667 f .133333 f .2 f .266667 f .333333 f .4 f .466667 f .533333 f .6 f .666667 f .733333 f .8 f .866667 f .933333\",\"40x40x40\":\"c f 0 f .05 f .1 f .15 f .2 f .25 f .3 f .35 f .4 f .45 f .5 f .55 f .6 f .65 f .7 f .75 f .8 f .85 f .9 f .95\",skewb:\"c v 0\",\"master skewb\":\"c v 0.275\",\"professor skewb\":\"c v 0 v 0.38\",\"compy cube\":\"c v 0.915641442663986\",helicopter:\"c e 0.707106781186547\",\"curvy copter\":\"c e 0.83\",dino:\"c v 0.577350269189626\",\"little chop\":\"c e 0\",pyramorphix:\"t e 0\",mastermorphix:\"t e 0.346184634065199\",pyraminx:\"t v 0.333333333333333 v 1.66666666666667\",tetraminx:\"t v 0.333333333333333\",\"master pyraminx\":\"t v 0 v 1 v 2\",\"master tetraminx\":\"t v 0 v 1\",\"professor pyraminx\":\"t v -0.2 v 0.6 v 1.4 v 2.2\",\"professor tetraminx\":\"t v -0.2 v 0.6 v 1.4\",\"Jing pyraminx\":\"t f 0\",\"master pyramorphix\":\"t e 0.866025403784437\",megaminx:\"d f 0.7\",gigaminx:\"d f 0.64 f 0.82\",teraminx:\"d f 0.64 f 0.76 f 0.88\",petaminx:\"d f 0.64 f 0.73 f 0.82 f 0.91\",examinx:\"d f 0.64 f 0.712 f 0.784 f 0.856 f 0.928\",zetaminx:\"d f 0.64 f 0.7 f 0.76 f 0.82 f 0.88 f 0.94\",yottaminx:\"d f 0.64 f 0.6914 f 0.7429 f 0.7943 f 0.8457 f 0.8971 f 0.9486\",pentultimate:\"d f 0\",\"master pentultimate\":\"d f 0.1\",\"elite pentultimate\":\"d f 0 f 0.145905\",starminx:\"d v 0.937962370425399\",\"starminx 2\":\"d f 0.23606797749979\",\"pyraminx crystal\":\"d f 0.447213595499989\",chopasaurus:\"d v 0\",\"big chop\":\"d e 0\",\"skewb diamond\":\"o f 0\",FTO:\"o f 0.333333333333333\",\"master FTO\":\"o f 0.5 f 0\",\"Christopher's jewel\":\"o v 0.577350269189626\",octastar:\"o e 0\",\"Trajber's octahedron\":\"o v 0.433012701892219\",\"radio chop\":\"i f 0\",icosamate:\"i v 0\",\"icosahedron 2\":\"i v 0.18759247376021\",\"icosahedron 3\":\"i v 0.18759247376021 e 0\",\"icosahedron static faces\":\"i v 0.84\",\"icosahedron moving faces\":\"i v 0.73\",\"Eitan's star\":\"i f 0.61803398874989\",\"2x2x2 + dino\":\"c f 0 v 0.577350269189626\",\"2x2x2 + little chop\":\"c f 0 e 0\",\"dino + little chop\":\"c v 0.577350269189626 e 0\",\"2x2x2 + dino + little chop\":\"c f 0 v 0.577350269189626 e 0\",\"megaminx + chopasaurus\":\"d f 0.61803398875 v 0\",\"starminx combo\":\"d f 0.23606797749979 v 0.937962370425399\"}});function el(e){let t=new O(0,0,0,0);for(let r=0;r<e.length;r++)t=t.sum(e[r]);return t.smul(1/e.length)}function w0(e,t,r,n){let o=n[e].intersect3(n[t],n[r]);if(!o)return o;for(let l=0;l<n.length;l++)if(l!==e&&l!==t&&l!==r){let i=n[l].b*o.b+n[l].c*o.c+n[l].d*o.d;if(n[l].a>0&&i>n[l].a||n[l].a<0&&i<n[l].a)return!1}return o}var hr,O,tl=y(()=>{hr=1e-9;O=class{constructor(t,r,n,o){this.a=t;this.b=r;this.c=n;this.d=o}mul(t){return new O(this.a*t.a-this.b*t.b-this.c*t.c-this.d*t.d,this.a*t.b+this.b*t.a+this.c*t.d-this.d*t.c,this.a*t.c-this.b*t.d+this.c*t.a+this.d*t.b,this.a*t.d+this.b*t.c-this.c*t.b+this.d*t.a)}toString(){return`Q[${this.a},${this.b},${this.c},${this.d}]`}dist(t){return Math.hypot(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}len(){return Math.hypot(this.a,this.b,this.c,this.d)}cross(t){return new O(0,this.c*t.d-this.d*t.c,this.d*t.b-this.b*t.d,this.b*t.c-this.c*t.b)}dot(t){return this.b*t.b+this.c*t.c+this.d*t.d}normalize(){let t=Math.sqrt(this.dot(this));return new O(this.a/t,this.b/t,this.c/t,this.d/t)}makenormal(){return new O(0,this.b,this.c,this.d).normalize()}normalizeplane(){let t=Math.hypot(this.b,this.c,this.d);return new O(this.a/t,this.b/t,this.c/t,this.d/t)}smul(t){return new O(this.a*t,this.b*t,this.c*t,this.d*t)}sum(t){return new O(this.a+t.a,this.b+t.b,this.c+t.c,this.d+t.d)}sub(t){return new O(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}angle(){return 2*Math.acos(this.a)}invrot(){return new O(this.a,-this.b,-this.c,-this.d)}det3x3(t,r,n,o,l,i,s,u,a){return t*(l*a-i*u)+r*(i*s-o*a)+n*(o*u-l*s)}rotateplane(t){let r=t.mul(new O(0,this.b,this.c,this.d)).mul(t.invrot());return r.a=this.a,r}orthogonal(){let t=Math.abs(this.b),r=Math.abs(this.c),n=Math.abs(this.d);return t<r&&t<n?this.cross(new O(0,1,0,0)).normalize():r<t&&r<n?this.cross(new O(0,0,1,0)).normalize():this.cross(new O(0,0,0,1)).normalize()}pointrotation(t){let r=this.normalize();if(t=t.normalize(),r.sub(t).len()<hr)return new O(1,0,0,0);let n=r.sum(t);n.len()<hr?n=n.orthogonal():n=n.normalize();let o=r.cross(n);return o.a=r.dot(n),o}unproject(t){return this.sum(t.smul(-this.dot(t)/(this.len()*t.len())))}rotatepoint(t){return t.mul(this).mul(t.invrot())}rotateface(t){return t.map(r=>r.rotatepoint(this))}intersect3(t,r){let n=this.det3x3(this.b,this.c,this.d,t.b,t.c,t.d,r.b,r.c,r.d);return Math.abs(n)<hr?!1:new O(0,this.det3x3(this.a,this.c,this.d,t.a,t.c,t.d,r.a,r.c,r.d)/n,this.det3x3(this.b,this.a,this.d,t.b,t.a,t.d,r.b,r.a,r.d)/n,this.det3x3(this.b,this.c,this.a,t.b,t.c,t.a,r.b,r.c,r.a)/n)}side(t){return t>hr?1:t<-hr?-1:0}cutface(t){let r=this.a,n=0,o=null;for(let l=0;l<t.length;l++)n|=1<<this.side(t[l].dot(this)-r)+1;if((n&5)==5){o=[];let l=t.map(i=>this.side(i.dot(this)-r));for(let i=-1;i<=1;i+=2){let s=[];for(let u=0;u<t.length;u++){(l[u]===i||l[u]===0)&&s.push(t[u]);let a=(u+1)%t.length;if(l[u]+l[a]===0&&l[u]!==0){let f=t[u].dot(this)-r,g=t[a].dot(this)-r,c=f/(f-g),L=t[u].smul(1-c).sum(t[a].smul(c));s.push(L)}}o.push(s)}}return o}cutfaces(t){let r=[];for(let n=0;n<t.length;n++){let o=t[n],l=this.cutface(o);l?(r.push(l[0]),r.push(l[1])):r.push(o)}return r}faceside(t){let r=this.a;for(let n=0;n<t.length;n++){let o=this.side(t[n].dot(this)-r);if(o!==0)return o}throw new Error(\"Could not determine side of plane in faceside\")}sameplane(t){let r=this.normalize(),n=t.normalize();return r.dist(n)<hr||r.dist(n.smul(-1))<hr}makecut(t){return new O(t,this.b,this.c,this.d)}}});function E0(){let e=Math.sqrt(.5);return[new O(e,e,0,0),new O(e,0,e,0)]}function k0(){return[new O(.5,.5,.5,.5),new O(.5,.5,.5,-.5)]}function z0(){let e=2*Math.PI/10,t=.5+.3*Math.sqrt(5),r=.5+.1*Math.sqrt(5),n=Math.sqrt(t*t+r*r);return t/=n,r/=n,[new O(Math.cos(e),t*Math.sin(e),r*Math.sin(e),0),new O(.5,.5,.5,.5)]}function C0(){let e=1/6+Math.sqrt(5)/6,t=2/3+Math.sqrt(5)/3,r=Math.sqrt(e*e+t*t);e/=r,t/=r;let n=2*Math.PI/6;return[new O(Math.cos(n),e*Math.sin(n),t*Math.sin(n),0),new O(Math.cos(n),-e*Math.sin(n),t*Math.sin(n),0)]}function P0(){let e=Math.sqrt(.5);return[new O(.5,.5,.5,.5),new O(e,0,0,e)]}function M0(e){let t=[new O(1,0,0,0)];for(let r=0;r<t.length;r++)for(let n=0;n<e.length;n++){let o=e[n].mul(t[r]),l=o.smul(-1),i=!1;for(let s=0;s<t.length;s++)if(o.dist(t[s])<rl||l.dist(t[s])<rl){i=!0;break}i||t.push(o)}return t}function Ni(e,t){let r=[],n=[];for(let o=0;o<t.length;o++){let l=e.rotateplane(t[o]),i=!1;for(let s=0;s<r.length;s++)if(l.dist(r[s])<rl){i=!0;break}i||(r.push(l),n.push(t[o]))}return n}function _i(e){let t=[];for(let r=1;r<e.length;r++)for(let n=r+1;n<e.length;n++){let o=w0(0,r,n,e);if(o){let l=!1;for(let i=0;i<t.length;i++)if(o.dist(t[i])<rl){l=!0;break}l||t.push(o)}}for(;;){let r=!1;for(let n=0;n<t.length;n++){let o=(n+1)%t.length;if(e[0].dot(t[n].cross(t[o]))<0){let l=t[n];t[n]=t[o],t[o]=l,r=!0}}if(!r)break}return t}var rl,I0=y(()=>{tl();rl=1e-9});function nl(e,t){let r=e[0].p.length,n=U0(r),o=[],l=[],i=[],s=[],u=[];function a(L){for(let p=L.p.length-1;p>=0;p--){let m=L.p[p];if(m!==p){if(!o[p][m])return!1;L=L.mul(l[p][m])}}return!0}function f(L,p,m){s[L].push(p),u[L].push(m);for(let D=0;D<o[L].length;D++)o[L][D]&&g(L,o[L][D].mul(p),m+i[L][D])}function g(L,p,m){let D=p.p[L];if(!o[L][D]){o[L][D]=p,l[L][D]=p.inv(),i[L][D]=m;for(let b=0;b<s[L].length;b++)g(L,p.mul(s[L][b]),m+u[L][b]);return}let A=p.mul(l[L][D]);a(A)||f(L-1,A,m+i[L][D])}function c(){o=[],l=[],s=[],i=[],u=[];for(let m=0;m<r;m++)o.push([]),l.push([]),i.push([]),s.push([]),u.push([]),o[m][m]=n,l[m][m]=n,i[m][m]=0;let L=0,p=1;for(let m=0;m<e.length;m++){f(r-1,e[m],1),p=1;let D=0,A=0,b=[],h=new G0;for(let C=0;C<r;C++){let E=0,j=0;for(let T=0;T<r;T++)o[C][T]&&(E++,j+=i[C][T],C!==T&&L++);D+=s[C].length,p*=E,E>1&&h.multiply(E);let ee=j/E;b.push(ee),A+=ee}t(`${m}: sz ${p} T ${D} sol ${A} none ${L} mults ${h.toString()}`)}return p}return c()}var G0,Oi=y(()=>{Jo();G0=class{constructor(){this.mult=[]}multiply(t){for(let r=2;r*r<=t;r++)for(;t%r==0;)this.mult[r]!==void 0?this.mult[r]++:this.mult[r]=1,t/=r;t>1&&(this.mult[t]!==void 0?this.mult[t]++:this.mult[t]=1)}toString(){let t=\"\";for(let r=0;r<this.mult.length;r++)this.mult[r]!==void 0&&(t!==\"\"&&(t+=\"*\"),t+=r,this.mult[r]>1&&(t+=`^${this.mult[r]}`));return t}}});function Wi(e){return e}function Qi(e){}function D1(e,t){let r=[];for(let n of e)for(let o of t)r.push(o.rotate(n));return r}function y1(){return{4:[[\"F\",\"D\",\"L\",\"R\"]],6:[[\"F\",\"D\",\"L\",\"U\",\"R\"],[\"R\",\"F\",\"\",\"B\",\"\"]],8:[[\"F\",\"D\",\"L\",\"R\"],[\"D\",\"F\",\"BR\",\"\"],[\"BR\",\"D\",\"\",\"BB\"],[\"BB\",\"BR\",\"U\",\"BL\"]],12:[[\"U\",\"F\",\"\",\"\",\"\",\"\"],[\"F\",\"U\",\"R\",\"C\",\"A\",\"L\"],[\"R\",\"F\",\"\",\"\",\"E\",\"\"],[\"E\",\"R\",\"\",\"BF\",\"\",\"\"],[\"BF\",\"E\",\"BR\",\"BL\",\"I\",\"D\"]],20:[[\"R\",\"C\",\"F\",\"E\"],[\"F\",\"R\",\"L\",\"U\"],[\"L\",\"F\",\"A\",\"\"],[\"E\",\"R\",\"G\",\"I\"],[\"I\",\"E\",\"S\",\"H\"],[\"S\",\"I\",\"J\",\"B\"],[\"B\",\"S\",\"K\",\"D\"],[\"K\",\"B\",\"M\",\"O\"],[\"O\",\"K\",\"P\",\"N\"],[\"P\",\"O\",\"Q\",\"\"]]}}function U1(){return{4:{F:\"#00ff00\",D:\"#ffff00\",L:\"#ff0000\",R:\"#0000ff\"},6:{U:\"#ffffff\",F:\"#00ff00\",R:\"#ff0000\",D:\"#ffff00\",B:\"#0000ff\",L:\"#ff8000\"},8:{U:\"#ffffff\",F:\"#ff0000\",R:\"#00bb00\",D:\"#ffff00\",BB:\"#1122ff\",L:\"#9524c5\",BL:\"#ff8800\",BR:\"#aaaaaa\"},12:{U:\"#ffffff\",F:\"#006633\",R:\"#ff0000\",C:\"#ffffd0\",A:\"#3399ff\",L:\"#660099\",E:\"#ff66cc\",BF:\"#99ff00\",BR:\"#0000ff\",BL:\"#ffff00\",I:\"#ff6633\",D:\"#999999\"},20:{R:\"#db69f0\",C:\"#178fde\",F:\"#23238b\",E:\"#9cc726\",L:\"#2c212d\",U:\"#177fa7\",A:\"#e0de7f\",G:\"#2b57c0\",I:\"#41126b\",S:\"#4b8c28\",H:\"#7c098d\",J:\"#7fe7b4\",B:\"#85fb74\",K:\"#3f4bc3\",D:\"#0ff555\",M:\"#f1c2c8\",O:\"#58d340\",P:\"#c514f2\",N:\"#14494e\",Q:\"#8b1be1\"}}}function b1(){return{4:[\"F\",\"D\",\"L\",\"R\"],6:[\"U\",\"D\",\"F\",\"B\",\"L\",\"R\"],8:[\"F\",\"BB\",\"D\",\"U\",\"BR\",\"L\",\"R\",\"BL\"],12:[\"L\",\"E\",\"F\",\"BF\",\"R\",\"I\",\"U\",\"D\",\"BR\",\"A\",\"BL\",\"C\"],20:[\"L\",\"S\",\"E\",\"O\",\"F\",\"B\",\"I\",\"P\",\"R\",\"K\",\"U\",\"D\",\"J\",\"A\",\"Q\",\"H\",\"G\",\"N\",\"M\",\"C\"]}}function x1(){return{4:[[\"FLR\",[0,1,0]],[\"F\",[0,0,1]]],6:[[\"U\",[0,1,0]],[\"F\",[0,0,1]]],8:[[\"U\",[0,1,0]],[\"F\",[0,0,1]]],12:[[\"U\",[0,1,0]],[\"F\",[0,0,1]]],20:[[\"GUQMJ\",[0,1,0]],[\"F\",[0,0,1]]]}}function ol(e,t){for(let r=0;r<e.length;r++)if(e[r][0].dist(t)<ye)return r;throw new Error(\"Element not found\")}function T0(){return $o}function N0(e){return $o[e]}function Zn(e){let t=e.split(/ /).filter(Boolean);if(t.length%2==0)return null;let r=t[0];if(r!==\"o\"&&r!==\"c\"&&r!==\"i\"&&r!==\"d\"&&r!==\"t\")return null;let n=[];for(let o=1;o<t.length;o+=2){if(t[o]!==\"f\"&&t[o]!==\"v\"&&t[o]!==\"e\")return null;n.push({cutType:t[o],distance:parseFloat(t[o+1])})}return{shape:r,cuts:n}}function qi(e,t={}){let r=Zn(e);if(r===null)throw new Error(\"Could not parse the puzzle description\");let n=new il(r,Object.assign({},{allMoves:!0},t));return n.allstickers(),n.genperms(),n}function er(e,t){return qi($o[e],t)}function S1(e,t,r){let n=!1;r-t[1]<t[0]&&(e=[e[2],e[3],e[0],e[1]],t=[r-t[1],r-t[0]],n=!0);let o=e[0],l=\"\";if(t[0]===0&&t[1]===r)o=o+\"v\";else if(t[0]===t[1])t[1]>0&&(l=String(t[1]+1));else if(t[0]===0)o=o.toLowerCase(),t[1]>1&&(l=String(t[1]+1));else throw`We only support slice and outer block moves right now. ${t}`;return[l+o,n]}function v1(e,t){let r=[],n=0;for(;n<e.length;){n>0&&n<e.length&&e[n]===\"_\"&&n++;let o=\"\";for(let l of t)e.substr(n).startsWith(l[1])&&l[1].length>o.length&&(o=l[1]);if(o!==\"\")r.push(o),n+=o.length;else throw new Error(\"Could not split \"+e+\" into face names.\")}return r}function ll(e,t){return[e.b/t,-e.c/t,e.d/t]}function ji(e,t){let r=[],n=e.length;for(let o=0;o<n;o++){let l=ll(e.get(n-o-1),t);r[3*o]=l[0],r[3*o+1]=l[1],r[3*o+2]=l[2]}return r}var tn,Jn,ye,A1,h1,il,_0,zi=y(()=>{pe();l0();wi();ki();Jo();S0();v0();I0();tl();Oi();tn=class{constructor(t){this.coords=new Array(t.length*3);for(let r=0;r<t.length;r++)this.coords[3*r]=t[r].b,this.coords[3*r+1]=t[r].c,this.coords[3*r+2]=t[r].d;this.length=t.length}get(t){return new O(0,this.coords[3*t],this.coords[3*t+1],this.coords[3*t+2])}centermass(){let t=0,r=0,n=0;for(let o=0;o<this.length;o++)t+=this.coords[3*o],r+=this.coords[3*o+1],n+=this.coords[3*o+2];return new O(0,t/this.length,r/this.length,n/this.length)}rotate(t){let r=[];for(let n=0;n<this.length;n++)r.push(this.get(n).rotatepoint(t));return new tn(r)}rotateforward(){let t=[];for(let r=1;r<this.length;r++)t.push(this.get(r));return t.push(this.get(0)),new tn(t)}},Jn=class{constructor(t,r,n){this.face=t;this.left=r;this.right=n}split(t){let r=t.cutface(this.face);return r!==null&&(this.left===void 0?(this.left=new Jn(r[0]),this.right=new Jn(r[1])):(this.left=this.left?.split(t),this.right=this.right?.split(t))),this}collect(t,r){return this.left===void 0?t.push(new tn(this.face)):r?(this.left?.collect(t,!1),this.right?.collect(t,!0)):(this.right?.collect(t,!1),this.left?.collect(t,!0)),t}};ye=1e-9,A1=\"PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.\",h1=!1;il=class{constructor(t,r){this.cmovesbyslice=[];this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new Jr;this.addNotationMapper=\"\";this.setReidOrder=!1;let n=Wi(\"genperms\");this.options=new Ei(r),this.options.verbosity>0&&console.log(this.header(\"# \")),this.create(t),Qi(n)}create(t){let{shape:r,cuts:n}=t;this.moveplanes=[],this.moveplanes2=[],this.faces=[],this.cubies=[];let o=null;switch(r){case\"c\":o=E0();break;case\"o\":o=P0();break;case\"i\":o=C0();break;case\"t\":o=k0();break;case\"d\":o=z0();break;default:throw new Error(\"Bad shape argument: \"+r)}this.rotations=M0(o),this.options.verbosity&&console.log(\"# Rotations: \"+this.rotations.length);let l=o[0];this.baseplanerot=Ni(l,this.rotations);let i=this.baseplanerot.map(F=>l.rotateplane(F));this.baseplanes=i,this.baseFaceCount=i.length;let s=y1()[i.length];this.net=s,this.colors=U1()[i.length],this.faceorder=b1()[i.length],this.options.verbosity>0&&console.log(\"# Base planes: \"+i.length);let u=_i(i),a=new O(0,0,0,0);this.options.verbosity>0&&console.log(\"# Face vertices: \"+u.length);let f=i[0].makenormal(),g=u[0].sum(u[1]).makenormal(),c=u[0].makenormal(),L=new O(1,f.b,f.c,f.d);this.options.verbosity>0&&console.log(\"# Boundary is \"+L);let m=Ni(L,this.rotations).map(F=>L.rotateplane(F)),D=_i(m);this.edgedistance=D[0].sum(D[1]).smul(.5).dist(a),this.vertexdistance=D[0].dist(a);let A=[],b=[],h=!1,C=!1,E=!1;for(let F of n){let w=null,N=0;switch(F.cutType){case\"f\":w=f,N=1,h=!0;break;case\"v\":w=c,N=this.vertexdistance,E=!0;break;case\"e\":w=g,N=this.edgedistance,C=!0;break;default:throw new Error(\"Bad cut argument: \"+F.cutType)}A.push(w.makecut(F.distance)),b.push(F.distance<N)}this.options.addRotations&&(h||A.push(f.makecut(10)),E||A.push(c.makecut(10)),C||A.push(g.makecut(10))),this.basefaces=[];for(let F of this.baseplanerot){let w=F.rotateface(D);this.basefaces.push(new tn(w))}let j=[],ee=[],T=[],te=[],U=D.length;function z(F,w,N){for(let W of F)if(W[0].dist(w)<ye){W.push(N);return}F.push([w,N])}for(let F=0;F<this.baseplanerot.length;F++){let w=this.baseplanerot[F].rotateface(D);for(let N=0;N<w.length;N++){let W=(N+1)%w.length,re=w[N].sum(w[W]).smul(.5);z(te,re,F)}}let M=[];for(let F=0;F<this.baseplanerot.length;F++){let w=this.baseplanerot[F].rotateface(D),N=[];for(let W=0;W<w.length;W++){let re=(W+1)%w.length,Ne=w[W].sum(w[re]).smul(.5),rt=te[ol(te,Ne)];if(F===rt[1])N.push(rt[2]);else if(F===rt[2])N.push(rt[1]);else throw new Error(\"Could not find edge\")}M.push(N)}let S={},v=[];v.push(s[0][0]),S[s[0][0]]=0,v[M[0][0]]=s[0][1],S[s[0][1]]=M[0][0];for(let F of s){let w=F[0],N=S[w];if(N===void 0)throw new Error(\"Bad edge description; first edge not connected\");let W=-1;for(let re=0;re<M[N].length;re++){let Ne=v[M[N][re]];if(Ne!==void 0&&Ne===F[1]){W=re;break}}if(W<0)throw new Error(\"First element of a net not known\");for(let re=2;re<F.length;re++){if(F[re]===\"\")continue;let Ne=M[N][(re+W-1)%U],rt=v[Ne];if(rt!==void 0&&rt!==F[re])throw new Error(\"Face mismatch in net\");v[Ne]=F[re],S[F[re]]=Ne}}for(let F=0;F<v.length;F++){let w=!1;for(let N=0;N<this.faceorder.length;N++)if(v[F]===this.faceorder[N]){this.faceprecedence[F]=N,w=!0;break}if(!w)throw new Error(\"Could not find face \"+v[F]+\" in face order list \"+this.faceorder)}for(let F=0;F<this.baseplanerot.length;F++){let w=this.baseplanerot[F].rotateface(D),N=L.rotateplane(this.baseplanerot[F]),W=v[F];j.push([w,W]),ee.push([N,W])}for(let F=0;F<this.baseplanerot.length;F++){let w=this.baseplanerot[F].rotateface(D),N=v[F];for(let W=0;W<w.length;W++){let re=(W+1)%w.length,Ne=w[W].sum(w[re]).smul(.5),rt=(W+2)%w.length,Ug=w[re].sum(w[rt]).smul(.5),bg=ol(te,Ne),xg=ol(te,Ug);z(T,w[re],[N,xg,bg])}}this.swizzler=new Vn(j.map(F=>F[1]));let P=this.swizzler.prefixFree?\"\":\"_\";for(let F=0;F<te.length;F++){if(te[F].length!==3)throw new Error(\"Bad length in edge names \"+te[F]);let w=v[te[F][1]],N=v[te[F][2]];this.faceprecedence[te[F][1]]<this.faceprecedence[te[F][2]]?w=w+P+N:w=N+P+w,te[F]=[te[F][0],w]}for(let F=0;F<T.length;F++){if(T[F].length<4)throw new Error(\"Bad length in vertex names\");let w=1;for(let W=2;W<T[F].length;W++)this.faceprecedence[S[T[F][W][0]]]<this.faceprecedence[S[T[F][w][0]]]&&(w=W);let N=\"\";for(let W=1;W<T[F].length;W++){W===1?N=T[F][w][0]:N=N+P+T[F][w][0];for(let re=1;re<T[F].length;re++)if(T[F][w][1]===T[F][re][2]){w=re;break}}T[F]=[T[F][0],N]}this.options.verbosity>1&&(console.log(\"# Face precedence list: \"+this.faceorder.join(\" \")),console.log(\"# Face names: \"+j.map(F=>F[1]).join(\" \")),console.log(\"# Edge names: \"+te.map(F=>F[1]).join(\" \")),console.log(\"# Vertex names: \"+T.map(F=>F[1]).join(\" \")));let Q=[];for(let F of ee)Q.push([F[0].makenormal(),F[1],\"f\"]);for(let F of te)Q.push([F[0].makenormal(),F[1],\"e\"]);for(let F of T)Q.push([F[0].makenormal(),F[1],\"v\"]);this.facenames=j,this.faceplanes=ee,this.edgenames=te,this.vertexnames=T,this.geonormals=Q;let H=Q.map(F=>F[1]);this.swizzler.setGripNames(H),this.options.verbosity>0&&console.log(\"# Distances: face \"+1+\" edge \"+this.edgedistance+\" vertex \"+this.vertexdistance);for(let F=0;F<A.length;F++)for(let w of this.rotations){let N=A[F].rotateplane(w),W=!1;for(let re of this.moveplanes)if(N.sameplane(re)){W=!0;break}W||(this.moveplanes.push(N),b[F]&&this.moveplanes2.push(N))}let ge=new Jn(D),Le=this.moveplanes2.slice(),De=31;for(let F=0;F<Le.length;F++){let w=F+Math.floor((Le.length-F)*(De/65536));ge=ge.split(Le[w]),Le[w]=Le[F],De=(De*1657+101)%65536}let Ae=ge.collect([],!0);this.faces=Ae,this.options.verbosity>0&&console.log(\"# Faces is now \"+Ae.length),this.stickersperface=Ae.length;let St=[],Ee=el(D);for(let F of this.rotations){let w=F.rotateface(D);Ee.dist(el(w))<ye&&St.push(F)}let Ve=new Array(Ae.length),be=[];for(let F=0;F<Ae.length;F++){let w=Ae[F].centermass();be.push([Ee.dist(w),w,F])}be.sort((F,w)=>F[0]-w[0]);for(let F=0;F<Ae.length;F++){let w=be[F][2];if(!Ve[w]){Ve[w]=!0;for(let N of St){let W=Ae[w].rotate(N),re=W.centermass();for(let Ne=F+1;Ne<Ae.length&&!(be[Ne][0]-be[F][0]>ye);Ne++){let rt=be[Ne][2];if(!Ve[rt]&&re.dist(be[Ne][1])<ye){Ve[rt]=!0,Ae[rt]=W;break}}}}}this.shortedge=1e99;for(let F of Ae)for(let w=0;w<F.length;w++){let N=(w+1)%F.length,W=F.get(w).dist(F.get(N));W<this.shortedge&&(this.shortedge=W)}this.options.verbosity>0&&console.log(\"# Short edge is \"+this.shortedge),r===\"c\"&&h&&!C&&!E&&(this.addNotationMapper=\"NxNxNCubeMapper\",this.setReidOrder=!0),r===\"c\"&&E&&!h&&!C&&(this.addNotationMapper=\"SkewbMapper\"),r===\"t\"&&(E||h)&&!C&&(this.addNotationMapper=\"PyraminxOrTetraminxMapper\"),r===\"o\"&&h&&(this.notationMapper=new Hn(this.swizzler,new Vn([\"F\",\"D\",\"L\",\"BL\",\"R\",\"U\",\"BR\",\"B\"])),!C&&!E&&(this.addNotationMapper=\"FTOMapper\")),r===\"d\"&&h&&(this.addNotationMapper=\"MegaminxMapper\",this.notationMapper=new Hn(this.swizzler,new Vn([\"U\",\"F\",\"L\",\"BL\",\"BR\",\"R\",\"FR\",\"FL\",\"DL\",\"B\",\"DR\",\"D\"])))}keyface(t){return this.keyface2(t.centermass())}keyface2(t){let r=\"\",n=String.fromCharCode;for(let o of this.moveplanesets)if(o.length>0){let l=t.dot(o[0]),i=0,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);if(i<47)r=r+n(33+i);else if(i<47+47*47)r=r+n(33+47+Math.floor(i/47)-1)+n(33+i%47);else if(i<47+47*47+47*47*47)r=r+n(33+47+Math.floor((i-47)/(47*47)-1))+n(33+47+Math.floor((i-47)/47)%47)+n(33+i%47);else throw Error(\"Too many slices for cubie encoding\")}return r}keyface3(t){let r=t.centermass(),n=[];for(let o of this.moveplanesets)if(o.length>0){let l=r.dot(o[0]),i=0,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);n.push(i)}return n}findface(t){let r=this.keyface2(t),n=this.facelisthash.get(r);if(n.length===1)return n[0];for(let o=0;o+1<n.length;o++){let l=this.facelisthash.get(r)[o];if(Math.abs(t.dist(this.facecentermass[l]))<ye)return l}return n[n.length-1]}project2d(t,r,n){let o=this.facenames[t][0],l=(r+1)%o.length,i=this.baseplanes[t],s=o[l].sub(o[r]),u=s.len();s=s.normalize();let a=s.cross(i).normalize(),f=n[1].sub(n[0]),g=f.len()/u;f=f.normalize();let c=f.b,L=f.c,p=s.smul(c).sub(a.smul(L)).smul(g),m=a.smul(c).sum(s.smul(L)).smul(g),D=new O(0,n[0].b-p.dot(o[r]),n[0].c-m.dot(o[r]),0);return[p,m,D]}allstickers(){let t=Wi(\"allstickers\");this.faces=D1(this.baseplanerot,this.faces),this.options.verbosity>0&&console.log(\"# Total stickers is now \"+this.faces.length),this.facecentermass=new Array(this.faces.length);for(let U=0;U<this.faces.length;U++)this.facecentermass[U]=this.faces[U].centermass();let r=[],n=[];for(let U of this.moveplanes){let z=U.makenormal(),M=!1;for(let S of n)z.sameplane(S.makenormal())&&(M=!0);M||(n.push(z),r.push([]))}for(let U of this.moveplanes2){let z=U.makenormal();for(let M=0;M<n.length;M++)if(z.sameplane(n[M])){r[M].push(U);break}}for(let U=0;U<r.length;U++){let z=r[U].map(S=>S.normalizeplane()),M=n[U];for(let S=0;S<z.length;S++)z[S].makenormal().dist(M)>ye&&(z[S]=z[S].smul(-1));z.sort((S,v)=>S.a-v.a),r[U]=z}this.moveplanesets=r,this.moveplanenormals=n;let o=r.map(U=>U.length);this.options.verbosity>0&&console.log(\"# Move plane sets: \"+o);let l=[];for(let U=0;U<r.length;U++)l.push([]);for(let U of this.rotations){if(Math.abs(Math.abs(U.a)-1)<ye)continue;let z=U.makenormal();for(let M=0;M<r.length;M++)if(z.sameplane(n[M])){l[M].push(U);break}}this.moverotations=l;for(let U=0;U<l.length;U++){let z=l[U],M=z[0].makenormal();for(let S=0;S<z.length;S++)M.dist(z[S].makenormal())>ye&&(z[S]=z[S].smul(-1));z.sort((S,v)=>S.angle()-v.angle()),l[U][0].dot(n[U])<0&&z.reverse()}let i=l.map(U=>1+U.length);this.movesetorders=i;let s=[],u=\"?\";for(let U=0;U<r.length;U++){let z=n[U],M=null,S=null;for(let v of this.geonormals){let P=z.dot(v[0]);Math.abs(P-1)<ye?(S=[v[1],v[2]],u=v[2]):Math.abs(P+1)<ye&&(M=[v[1],v[2]],u=v[2])}if(S===null||M===null)throw new Error(\"Saw positive or negative sides as null\");s.push([S[0],S[1],M[0],M[1],1+r[U].length]),this.addNotationMapper===\"NxNxNCubeMapper\"&&u===\"f\"&&(this.notationMapper=new Yo(1+r[U].length),this.addNotationMapper=\"\"),this.addNotationMapper===\"SkewbMapper\"&&r[0].length===1&&(this.notationMapper=new Xo(this.swizzler),this.addNotationMapper=\"\"),this.addNotationMapper===\"PyraminxOrTetraminxMapper\"&&(r[0].length===2&&r[0][0].a===.333333333333333&&r[0][1].a===1.66666666666667?(this.notationMapper=new Yn(this.swizzler),this.addNotationMapper=\"\"):(this.notationMapper=new Zo(this.swizzler),this.addNotationMapper=\"\")),this.addNotationMapper===\"MegaminxMapper\"&&u===\"f\"&&(1+r[U].length===3&&(this.notationMapper=new Ho(this.notationMapper)),this.addNotationMapper=\"\"),this.addNotationMapper===\"FTOMapper\"&&u===\"f\"&&(1+r[U].length===3&&(this.notationMapper=new Vo(this.notationMapper,this.swizzler)),this.addNotationMapper=\"\")}this.movesetgeos=s;let a=new Map,f=this.faces;for(let U=0;U<f.length;U++){let z=f[U],M=this.keyface(z);if(!a.get(M))a.set(M,[U]);else{let S=a.get(M);if(S.push(U),S.length===this.baseFaceCount){this.options.verbosity>0&&console.log(\"# Splitting core.\");for(let v=0;v<S.length;v++){let P=M+\" \"+v;a.set(P,[S[v]])}}}}this.facelisthash=a,this.options.verbosity>0&&console.log(\"# Cubies: \"+a.size);let g=[],c=[],L=[];for(let U of a.values())if(U.length!==this.baseFaceCount){if(U.length>1){let z=U.map(P=>f[P].centermass()),M=el(z);for(let P=0;U.length>2;P++){let Q=!1;for(let H=0;H<U.length;H++){let ge=(H+1)%U.length;if(M.dot(z[H].cross(z[ge]))<0){let Le=z[H];z[H]=z[ge],z[ge]=Le;let De=U[H];U[H]=U[ge],U[ge]=De,Q=!0}}if(!Q)break;if(P>1e3)throw new Error(\"Bad epsilon math; too close to border\")}let S=0,v=U[S];for(let P=1;P<U.length;P++){let Q=U[P];this.faceprecedence[this.getfaceindex(Q)]<this.faceprecedence[this.getfaceindex(v)]&&(S=P,v=Q)}if(S!==0){let P=U.slice();for(let Q=0;Q<U.length;Q++)U[Q]=P[(S+Q)%U.length]}}for(let z=0;z<U.length;z++){let M=U[z];c[M]=g.length,L[M]=z}g.push(U)}this.cubies=g,this.facetocubie=c,this.facetoord=L;let p=[\"?\",\"CENTERS\",\"EDGES\",\"CORNERS\",\"C4RNER\",\"C5RNER\"],m=[],D=[0,0,0,0,0,0],A=[],b=[],h=0,C=[],E=[],j=[],ee=[],T=U=>g[U].map(z=>this.getfaceindex(z)).join(\" \"),te=[];for(let U=0;U<g.length;U++){if(b[U])continue;let z=g[U];if(z.length===0)continue;let M={},S=0;j.push(0),te.push([]);let v=z.length,P=D[v]++,Q=p[v];(Q===void 0||v===this.baseFaceCount)&&(Q=\"CORE\"),Q=Q+(P===0?\"\":P+1),m[h]=Q,A[h]=v;let H=[U],ge=0;for(b[U]=!0;ge<H.length;){let Le=H[ge++],De=T(Le);if((z.length>1||M[De]===void 0)&&(M[De]=S++),ee[Le]=M[De],C[Le]=h,te[h].push(Le),E[Le]=j[h]++,H.length<this.rotations.length){let Ae=this.facecentermass[g[Le][0]];for(let St of l){let Ee=this.facetocubie[this.findface(Ae.rotatepoint(St[0]))];b[Ee]||(H.push(Ee),b[Ee]=!0)}}}h++}if(this.setReidOrder&&4<=this.stickersperface&&this.stickersperface<=9){let U=[[\"UF\",\"UR\",\"UB\",\"UL\",\"DF\",\"DR\",\"DB\",\"DL\",\"FR\",\"FL\",\"BR\",\"BL\"],[\"UFR\",\"URB\",\"UBL\",\"ULF\",\"DRF\",\"DFL\",\"DLB\",\"DBR\"],[\"U\",\"L\",\"F\",\"R\",\"B\",\"D\"]],z={};for(let M of U)for(let S=0;S<M.length;S++){let v=0;for(let P=0;P<M[S].length;P++)v|=1<<M[S].charCodeAt(P)-65;z[v]=S}for(let M of te)for(let S of M){let v=0;for(let P of g[S])v|=1<<this.facenames[this.getfaceindex(P)][1].charCodeAt(0)-65;E[S]=z[v]}}if(this.cubiesetnums=C,this.cubieordnums=E,this.cubiesetnames=m,this.cubieords=j,this.orbitoris=A,this.cubievaluemap=ee,this.cubiesetcubies=te,this.options.fixedPieceType!==null){for(let U=0;U<g.length;U++)if(this.options.fixedPieceType===\"v\"&&g[U].length>2||this.options.fixedPieceType===\"e\"&&g[U].length===2||this.options.fixedPieceType===\"f\"&&g[U].length===1){this.fixedCubie=U;break}if(this.fixedCubie<0)throw new Error(\"Could not find a cubie of type \"+this.options.fixedPieceType+\" to fix.\")}this.options.verbosity>0&&console.log(\"# Cubie orbit sizes \"+j),Qi(t)}unswizzle(t){let r=this.notationMapper.notationToInternal(t);return r===null?\"\":this.swizzler.unswizzle(r.family)}stringToBlockMove(t){let r=RegExp(\"^(([0-9]+)-)?([0-9]+)?([^0-9]+)([0-9]+'?)?$\"),n=t.match(r);if(n===null)throw new Error(\"Bad move passed \"+t);let o=n[4],l,i;if(n[2]!==void 0){if(n[3]===void 0)throw new Error(\"Missing second number in range\");l=parseInt(n[2],10)}n[3]!==void 0&&(i=parseInt(n[3],10));let s=\"1\",u=1;return n[5]!==void 0&&(s=n[5],s[0]===\"'\"&&(s=\"-\"+s.substring(1)),u=parseInt(s,10)),new B(new I(o,i,l),u)}parseMove(t){let r=this.notationMapper.notationToInternal(t);if(r===null)throw new Error(\"Bad move \"+t.family);t=r;let n=t.family,o=!1;if(n.endsWith(\"v\")&&n[0]<=\"Z\"){if(t.innerLayer!==void 0||t.outerLayer!==void 0)throw new Error(\"Cannot use a prefix with full cube rotations\");n=n.slice(0,-1),o=!0}n.endsWith(\"w\")&&n[0]<=\"Z\"&&(n=n.slice(0,-1).toLowerCase());let l,i=-1,s=this.swizzler.unswizzle(n),u=!1;for(let g=0;g<this.movesetgeos.length;g++){let c=this.movesetgeos[g];s===c[0]&&(u=!0,l=c,i=g),s===c[2]&&(u=!1,l=c,i=g)}let a=1,f=1;if(n.toUpperCase()!==n&&(f=2),l===void 0)throw new Error(\"Bad grip in move \"+t.family);if(t.outerLayer!==void 0&&(a=t.outerLayer),t.innerLayer!==void 0&&(t.outerLayer===void 0?(f=t.innerLayer,n<=\"Z\"?a=f:a=1):f=t.innerLayer),a--,f--,o&&(a=0,f=this.moveplanesets[i].length),a<0||a>this.moveplanesets[i].length||f<0||f>this.moveplanesets[i].length)throw new Error(\"Bad slice spec \"+a+\" \"+f+\" vs \"+this.moveplanesets[i].length);if(!h1&&a===0&&f===this.moveplanesets[i].length&&!o)throw new Error(\"! full puzzle rotations must be specified with v suffix.\");return[void 0,i,a,f,u,t.amount]}parsemove(t){let r=this.parseMove(this.stringToBlockMove(t));return r[0]=t,r}genperms(){let t=Wi(\"genperms\");if(this.cmovesbyslice.length>0)return;let r=[];if(this.options.orientCenters){for(let n=0;n<this.cubies.length;n++)if(this.cubies[n].length===1){let o=this.cubies[n][0],l=this.getfaceindex(o);if(this.basefaces[l].centermass().dist(this.facecentermass[o])<ye){let i=this.basefaces[l].length;for(let s=1;s<i;s++)this.cubies[n].push(this.cubies[n][s-1]);this.duplicatedFaces[o]=i,this.duplicatedCubies[n]=i,this.orbitoris[this.cubiesetnums[n]]=i}}}for(let n=0;n<this.moveplanesets.length;n++){let o=this.moveplanesets[n],l=[],i=[o.length+1,0],s=1;for(;s*2<=o.length;)s*=2;for(let f=0;f<this.faces.length;f++){let g=0;if(o.length>0){let c=this.facecentermass[f].dot(o[0]);for(let L=s;L>0;L>>=1)g+L<=o.length&&c>o[g+L-1].a&&(g+=L);g=o.length-g}for(l.push(g);i.length<=g;)i.push(0);i[g]++}let u=new Array(i.length);for(let f=0;f<i.length;f++)u[f]=[];let a=[];for(let f=0;f<this.faces.length;f++){if(l[f]<0)continue;let g=[this.facetocubie[f],this.facetoord[f]],c=this.facecentermass[f],L=c,p=f,m=l[p];for(;;){l[p]=-1;let D=c.rotatepoint(this.moverotations[n][0]);if(D.dist(L)<ye)break;p=this.findface(D),g.push(this.facetocubie[p],this.facetoord[p]),c=D}if(g.length>2&&this.options.orientCenters&&(this.cubies[g[0]].length===1||this.duplicatedCubies[g[0]]>1)&&this.facecentermass[f].dist(this.basefaces[this.getfaceindex(f)].centermass())<ye){let D=this.faces[this.cubies[g[0]][0]];for(let A=0;A<g.length;A+=2){let b=this.faces[this.cubies[g[A]][0]],h=-1;for(let C=0;C<D.length;C++)if(b.get(C).dist(D.get(0))<ye){h=C;break}if(h<0)throw new Error(\"Couldn't find rotation of center faces; ignoring for now.\");g[A+1]=h,D=D.rotate(this.moverotations[n][0])}}if(g.length===2&&this.options.orientCenters)for(let D=1;D<this.movesetorders[n];D++)m===0?g.push(g[0],D):g.push(g[0],(this.movesetorders[n]-D)%this.movesetorders[n]);if(g.length>2&&!a[g[0]]){if(g.length!==2*this.movesetorders[n])throw new Error(\"Bad length in perm gen\");for(let D of g)u[m].push(D)}for(let D=0;D<g.length;D+=2)a[g[D]]=!0}for(let f=0;f<u.length;f++)u[f]=u[f].slice();r.push(u)}if(this.cmovesbyslice=r,this.options.moveList){let n=[];for(let o of this.options.moveList)n.push(this.parsemove(o));this.parsedmovelist=n}this.facelisthash.clear(),this.facecentermass=[],Qi(t)}getboundarygeometry(){return{baseplanes:this.baseplanes,facenames:this.facenames,faceplanes:this.faceplanes,vertexnames:this.vertexnames,edgenames:this.edgenames,geonormals:this.geonormals}}getmovesets(t){let r=this.moveplanesets[t].length,n=[];if(this.parsedmovelist!==void 0)for(let o of this.parsedmovelist)o[1]===t&&(o[4]?n.push([o[2],o[3]]):n.push([r-o[3],r-o[2]]),n.push(o[5]));else if(this.options.vertexMoves&&!this.options.allMoves){let o=this.movesetgeos[t];if(o[1]!==o[3])for(let l=0;l<r;l++)o[1]!==\"v\"?(this.options.outerBlockMoves?n.push([l+1,r]):n.push([l+1]),n.push(1)):(this.options.outerBlockMoves?n.push([0,l]):n.push([l,l]),n.push(1))}else for(let o=0;o<=r;o++)!this.options.allMoves&&o+o===r||(this.options.outerBlockMoves?o+o>r?n.push([o,r]):n.push([0,o]):n.push([o,o]),n.push(1));if(this.fixedCubie>=0){let o=this.keyface3(this.faces[this.cubies[this.fixedCubie][0]])[t],l=[];for(let i=0;i<n.length;i+=2){let s=n[i];if(o>=s[0]&&o<=s[1])if(s[0]===0)s=[s[1]+1,r];else if(r===s[1])s=[0,s[0]-1];else throw Error(\"fixed cubie option would disconnect move\");let u=!1;for(let a=0;a<l.length;a+=2)if(l[a][0]===s[0]&&l[a][1]===s[1]&&l[a+1]===n[i+1]){u=!0;break}u||(l.push(s),l.push(n[i+1]))}n=l}return n}graybyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&(this.options.grayCenters||!this.options.includeCenterOrbits)||r===2&&(this.options.grayEdges||!this.options.includeEdgeOrbits)||r>2&&(this.options.grayCorners||!this.options.includeCornerOrbits)}skipbyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&!this.options.includeCenterOrbits||r===2&&!this.options.includeEdgeOrbits||r>2&&!this.options.includeCornerOrbits}skipcubie(t){return this.skipbyori(t)}header(t){return t+A1+`\n`+t+`\n`}writegap(){let t=this.getOrbitsDef(!1),r=[],n=[];for(let l=0;l<t.moveops.length;l++){let i=\"M_\"+Ii(this.notationMapper,t.movenames[l]),s=!1;i[i.length-1]===\"'\"&&(i=i.substring(0,i.length-1),s=!0),n.push(i),s?r.push(i+\":=\"+t.moveops[l].toPerm().inv().toGap()+\";\"):r.push(i+\":=\"+t.moveops[l].toPerm().toGap()+\";\")}r.push(\"Gen:=[\"),r.push(n.join(\",\")),r.push(\"];\");let o=t.solved.identicalPieces();return r.push(\"ip:=[\"+o.map(l=>\"[\"+l.map(i=>i+1).join(\",\")+\"]\").join(\",\")+\"];\"),r.push(\"# Size(Group(Gen));\"),r.push(\"# Size(Stabilizer(Group(Gen), ip, OnTuplesSets));\"),r.push(\"\"),this.header(\"# \")+r.join(`\n`)}writeksolve(t=\"PuzzleGeometryPuzzle\"){let r=this.getOrbitsDef(!1);return this.header(\"# \")+r.toKsolve(t,this.notationMapper).join(`\n`)}writekpuzzle(t=!0,r=!0){let n=this.getOrbitsDef(t,r),o=n.toKPuzzle(r);if(!o)throw new Error(\"Missing definition!\");return o.moveNotation=new _0(this,n),o}getMoveFromBits(t,r,n,o,l,i){let s=[],u=[],a=[];for(let c of this.cubieords)u.push(wt(c)),a.push(Jt(c));for(let c=t[0];c<=t[1];c++){let L=o[c];for(let p=0;p<L.length;p+=2*i){let m=L.slice(p,p+2*i),D=this.cubiesetnums[m[0]];for(let h=0;h<m.length;h+=2)m[h]=this.cubieordnums[m[h]];let A=2,b=3;n&&(A=m.length-2,b=m.length-1),u[D]===wt(this.cubieords[D])&&(u[D]=u[D].slice(),this.orbitoris[D]>1&&!this.options.fixedOrientation&&(a[D]=a[D].slice()));for(let h=0;h<m.length;h+=2)u[D][m[(h+A)%m.length]]=m[h],this.orbitoris[D]>1&&!this.options.fixedOrientation&&(a[D][m[h]]=(m[(h+b)%m.length]-m[(h+1)%m.length]+2*this.orbitoris[D])%this.orbitoris[D])}}let f=new _t(wt(24),Jt(24),1);for(let c=0;c<this.cubiesetnames.length;c++)if(!(l&&!l[c]))if(this.orbitoris[c]===1||this.options.fixedOrientation)u[c]===wt(f.perm.length)?(u[c]!==f.perm&&(f=new _t(u[c],a[c],1)),s.push(f)):s.push(new _t(u[c],a[c],1));else{let L=new Array(a[c].length);for(let p=0;p<u[c].length;p++)L[p]=a[c][u[c][p]];s.push(new _t(u[c],L,this.orbitoris[c]))}let g=new $t(s);return r!==1&&(g=g.mulScalar(r)),g}omitSet(t){for(let r of this.options.excludeOrbits)if(r===t)return!0;return!1}diffmvsets(t,r,n,o){for(let l=0;l<t.length;l+=2){let i=!1;for(let s=0;!i&&s<r.length;s+=2)o?t[l][0]+r[s][1]===n&&t[l][1]+r[s][0]===n&&t[l+1]===r[s+1]&&(i=!0):t[l][0]===r[s][0]&&t[l][1]===r[s][1]&&t[l+1]===r[s+1]&&(i=!0);if(!i)return!0}return!1}getOrbitsDef(t,r=!0){let n=[];if(t)for(let c=0;c<this.cubiesetnames.length;c++)n.push(1);let o=[],l=[],i=[],s=[];for(let c=0;c<this.moveplanesets.length;c++){let L=this.getmovesets(c);i.push(L),this.options.addRotations?s.push(1):s.push(0)}if(this.options.moveList&&this.options.addRotations){for(let c=0;c<this.moverotations.length;c++)s[c]=0;for(let c=0;c<this.moveplanesets.length;c++)for(let L=0;L<this.moverotations.length;L++){let p=this.moveplanenormals[c];for(let m=1;m*2<=this.movesetorders[L];m++){if(p=p.rotatepoint(this.moverotations[L][0]),s[L]&m)continue;let D=-1,A=!1;for(let h=0;h<this.moveplanenormals.length;h++)if(p.dist(this.moveplanenormals[h])<ye){D=h;break}else if(p.dist(this.moveplanenormals[h].smul(-1))<ye){D=h,A=!0;break}if(D<0)throw new Error(\"Could not find rotation\");let b=i[D];(b.length!==i[c].length||this.moveplanesets[c].length!==this.moveplanesets[D].length||this.diffmvsets(b,i[c],this.moveplanesets[D].length,A))&&(s[L]|=m)}}for(let c=0;c<this.moverotations.length;c++)if(s[c]===0)s[c]=1;else if(s[c]===1)this.movesetorders[c]>3?s[c]=2:s[c]=0;else if(s[c]===3)s[c]=0;else throw new Error(\"Impossible addrot val\")}for(let c=0;c<this.moveplanesets.length;c++)s[c]!==0&&(i[c].push([0,this.moveplanesets[c].length]),i[c].push(s[c]));for(let c=0;c<this.moveplanesets.length;c++){let L=i[c],p=this.movesetorders[c];for(let A=0;A<L.length;A+=2)for(let b=0;b<A;b+=2)if(L[A]===L[b]&&L[A+1]===L[b+1])throw new Error(\"Redundant moves in moveset.\");let m=[];for(let A=0;A<L.length;A+=2)for(let b=L[A][0];b<=L[A][1];b++)m[b]=1;let D=this.cmovesbyslice[c];for(let A=0;A<D.length;A++){if(m[A]!==1)continue;let b=D[A];for(let h=0;h<b.length;h+=2*p){if(this.skipcubie(b[h]))continue;let C=this.cubiesetnums[b[h]];n[C]=1}}}for(let c=0;c<this.cubiesetnames.length;c++)if(!!n[c]){if(this.omitSet(this.cubiesetnames[c])){n[c]=0;continue}o.push(this.cubiesetnames[c]),l.push(new Xn(this.cubieords[c],this.options.fixedOrientation?1:this.orbitoris[c]))}let u=[];for(let c=0;c<this.cubiesetnames.length;c++){if(!n[c]||this.omitSet(this.cubiesetnames[c]))continue;let L=[],p=[];for(let m=0;m<this.cubieords[c];m++){if(t)L.push(m);else{let D=this.cubiesetcubies[c][m];L.push(this.cubievaluemap[D])}p.push(0)}u.push(new _t(L,p,this.options.fixedOrientation?1:this.orbitoris[c]))}let a=[],f=[];if(r)for(let c=0;c<this.moveplanesets.length;c++){let p=this.moveplanesets[c].length,m=i[c],D=this.movesetgeos[c];for(let A=0;A<m.length;A+=2){let b=m[A],h=S1(D,b,p),C=h[0],E=h[1];m[A+1]===1?a.push(C):a.push(C+m[A+1]);let j=this.getMoveFromBits(b,m[A+1],E,this.cmovesbyslice[c],n,this.movesetorders[c]);f.push(j)}}let g=new $r(o,l,new en(u),a,f);return this.options.optimizeOrbits&&(g=g.optimize()),this.options.scrambleAmount!==0&&g.scramble(this.options.scrambleAmount),g}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(t=>t.toPerm())}showcanon(t){x0(this.getOrbitsDef(!1),t)}getsolved(){let t=[];for(let r=0;r<this.baseFaceCount;r++)for(let n=0;n<this.stickersperface;n++)t.push(r);return new ut(t)}getOrientationRotation(t){let[r,[n,o,l]]=t[0],i=new O(0,n,-o,l),[s,[u,a,f]]=t[1],g=new O(0,u,-a,f),c=null,L=null,p=this.swizzler.unswizzle(r),m=this.swizzler.unswizzle(s);for(let h of this.geonormals)p===h[1]&&(c=h[0]),m===h[1]&&(L=h[0]);if(!c)throw new Error(\"Could not find feature \"+r);if(!L)throw new Error(\"Could not find feature \"+s);let D=c.pointrotation(i);return L.rotatepoint(D).unproject(i).pointrotation(g.unproject(i)).mul(D)}getInitial3DRotation(){let t=this.baseFaceCount,r=null;if(this.options.puzzleOrientation?r=this.options.puzzleOrientation:this.options.puzzleOrientations&&(r=this.options.puzzleOrientations[t]),r||(r=x1()[t]),!r)throw new Error(\"No default orientation?\");return this.getOrientationRotation(r)}generate2dmapping(t=800,r=500,n=10,o=!1,l=.92){t-=2*n,r-=2*n;function i(S,v){let P=S[1][0]-S[0][0],Q=S[1][1]-S[0][1],H=2*Math.PI/v,ge=Math.cos(H),Le=Math.sin(H);for(let De=2;De<v;De++){let Ae=P*ge+Q*Le;Q=Q*ge-P*Le,P=Ae,S.push([S[De-1][0]+P,S[De-1][1]+Q])}}this.genperms();let a=this.getboundarygeometry().facenames[0][0].length,f=this.net;if(f===null)throw new Error(\"No net?\");let g={},c=0,L=0,p=1,m=0;g[f[0][0]]=[[1,0],[0,0]],i(g[f[0][0]],a);for(let S of f){let v=S[0];if(!g[v])throw new Error(\"Bad edge description; first edge not connected.\");for(let P=1;P<S.length;P++){let Q=S[P];Q===\"\"||g[Q]||(g[Q]=[g[v][P%a],g[v][(P+a-1)%a]],i(g[Q],a))}}for(let S in g){let v=g[S];for(let P of v)c=Math.min(c,P[0]),p=Math.max(p,P[0]),L=Math.min(L,P[1]),m=Math.max(m,P[1])}let D=Math.min(t/(p-c),r/(m-L)),A=.5*(t-D*(p+c)),b=.5*(r-D*(m+L)),h={},C=this.getboundarygeometry(),E={},j=[[D+A,b],[A,b]];E[f[0][0]]=j,i(E[f[0][0]],a),h[this.facenames[0][1]]=this.project2d(0,0,[new O(0,j[0][0],j[0][1],0),new O(0,j[1][0],j[1][1],0)]);let ee=[];ee[0]=0;for(let S of f){let v=S[0];if(!E[v])throw new Error(\"Bad edge description; first edge not connected.\");let P=-1;for(let H=0;H<C.facenames.length;H++)if(v===C.facenames[H][1]){P=H;break}if(P<0)throw new Error(\"Could not find first face name \"+v);let Q=C.facenames[P][0];for(let H=1;H<S.length;H++){let ge=S[H];if(ge===\"\"||E[ge])continue;E[ge]=[E[v][H%a],E[v][(H+a-1)%a]],i(E[ge],a);let Le=ee[P],De=Q[(Le+H)%a].sum(Q[(Le+H+a-1)%a]).smul(.5),Ae=ol(C.edgenames,De),St=C.edgenames[Ae][1],Ee=v1(St,this.facenames),Ve=Ee[v===Ee[0]?1:0],be=-1;for(let w=0;w<C.facenames.length;w++)if(Ve===C.facenames[w][1]){be=w;break}if(be<0)throw new Error(\"Could not find second face name\");let F=C.facenames[be][0];for(let w=0;w<F.length;w++)if(F[w].sum(F[(w+1)%a]).smul(.5).dist(De)<=ye){let W=E[v][(H+a-1)%a],re=E[v][H%a];ee[be]=w,h[Ve]=this.project2d(be,w,[new O(0,re[0],re[1],0),new O(0,W[0],W[1],0)]);break}}}let T=0,te=0,U=this.getInitial3DRotation();for(let S of this.faces){o&&(S=S.rotate(U));for(let v=0;v<S.length;v++)T=Math.max(T,Math.abs(S.get(v).b)),te=Math.max(te,Math.abs(S.get(v).c))}let z=Math.min(r/te/2,(t-n)/T/4);return(S,v)=>{if(o){v=v.rotatepoint(U);let P=.5*n+.25*t,Q=this.baseplanes[S].rotateplane(U).d<0?1:-1;return[n+t*.5+Q*(P-v.b*z),n+r*.5+v.c*z]}else{let P=h[this.facenames[S][1]];return[n+l*v.dot(P[0])+P[2].b,n+r-l*v.dot(P[1])-P[2].c]}}}generatesvg(t=800,r=500,n=10,o=!1){let l=this.generate2dmapping(t,r,n,o);function i(c,L,p){return'<polygon id=\"'+c+'\" class=\"sticker\" style=\"fill: '+p+'\" points=\"'+L.map(m=>m[0]+\" \"+m[1]).join(\" \")+`\"/>\n`}let s=this.getsolved(),u=[],a=[];for(let c=0;c<this.baseFaceCount;c++)u[c]=this.colors[this.facenames[c][1]];for(let c=0;c<this.faces.length;c++){let L=this.faces[c],p=Math.floor(c/this.stickersperface),m=[];for(let D=0;D<L.length;D++)m.push(l(p,L.get(D)));a.push(m)}let f=[];for(let c=0;c<this.baseFaceCount;c++){f.push(\"<g>\"),f.push(\"<title>\"+this.facenames[c][1]+`</title>\n`);for(let L=0;L<this.stickersperface;L++){let p=c*this.stickersperface+L,m=this.facetocubie[p],D=this.facetoord[p],A=this.cubiesetnums[m],b=this.cubieordnums[m],h=this.graybyori(m)?\"#808080\":u[s.p[p]],C=this.cubiesetnames[A]+\"-l\"+b+\"-o\"+D;if(f.push(i(C,a[p],h)),this.duplicatedFaces[p])for(let E=1;E<this.duplicatedFaces[p];E++)C=this.cubiesetnames[A]+\"-l\"+b+\"-o\"+E,f.push(i(C,a[p],h))}f.push(\"</g>\")}return`<svg id=\"svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 800 500\">\n<style type=\"text/css\"><![CDATA[.sticker { stroke: #000000; stroke-width: 1px; }]]></style>\n`+f.join(\"\")+\"</svg>\"}get3d(t){let r=[],n=this.getInitial3DRotation(),o=[],l=.52*this.basefaces[0].get(0).len();for(let a=0;a<this.basefaces.length;a++){let f=this.basefaces[a].rotate(n),g=this.facenames[a][1];o.push({coords:ji(f,l),name:g})}for(let a=0;a<this.faces.length;a++){let f=Math.floor(a/this.stickersperface),g=this.facetocubie[a],c=this.facetoord[a],L=this.cubiesetnums[g],p=this.cubieordnums[g],m=this.graybyori(g)?\"#808080\":this.colors[this.facenames[f][1]];t?.stickerColors&&(m=t.stickerColors[a]);let D=this.faces[a].rotate(n);r.push({coords:ji(D,l),color:m,orbit:this.cubiesetnames[L],ord:p,ori:c,face:f});let A=D;if(this.duplicatedFaces[a]){let b=A.length/this.duplicatedFaces[a];for(let h=1;h<this.duplicatedFaces[a];h++){for(let C=0;C<b;C++)A=A.rotateforward();r.push({coords:ji(A,l),color:m,orbit:this.cubiesetnames[L],ord:p,ori:h,face:f,isDup:!0})}}}let i=[];for(let a=0;a<this.movesetgeos.length;a++){let f=this.movesetgeos[a],g=this.movesetorders[a];for(let c of this.geonormals)f[0]===c[1]&&f[1]===c[2]&&(i.push({coordinates:ll(c[0].rotatepoint(n),1),quantumMove:new B(f[0]),order:g}),i.push({coordinates:ll(c[0].rotatepoint(n).smul(-1),1),quantumMove:new B(f[2]),order:g}))}let s=this.generate2dmapping(2880,2160,0,!1,1),u=function(){let a=n.invrot();return function(f,g){let c=new O(0,g[0]*l,-g[1]*l,g[2]*l);c=c.rotatepoint(a);let L=s(f,c);return L[0]/=2880,L[1]=1-L[1]/2160,L}}().bind(this);return{stickers:r,faces:o,axis:i,unswizzle:this.unswizzle.bind(this),notationMapper:this.notationMapper,textureMapper:{getuv:u}}}getGeoNormal(t){let r=this.getInitial3DRotation(),n=this.swizzler.unswizzle(t);for(let o of this.geonormals)if(n===o[1]){let l=ll(o[0].rotatepoint(r),1);return Math.abs(l[0])<ye&&Math.abs(l[2])<ye&&(l[0]=0,l[2]=1e-6),l}}getfaceindex(t){let r=this.stickersperface;return Math.floor(t/r)}textForTwizzleExplorer(){return`Faces ${this.baseplanerot.length}\nStickers per face ${this.stickersperface}\nShort edge ${this.shortedge}\nCubies ${this.cubies.length}\nEdge distance ${this.edgedistance}\nVertex distance ${this.vertexdistance}`}writeSchreierSims(t){let n=this.getOrbitsDef(!1).reassemblySize();t(`Reassembly size is ${n}`);let o=nl(this.getMovesAsPerms(),t),l=n/o;t(`Ratio is ${l}`)}},_0=class{constructor(t,r){this.pg=t;this.cache={};this.orbitNames=r.orbitnames}lookupMove(t){let r=this.moveToKeyString(t);if(r in this.cache)return this.cache[r];let n=this.pg.parseMove(t);if(this.pg.parsedmovelist){let s=!1;for(let u of this.pg.parsedmovelist)u[1]===n[1]&&u[2]===n[2]&&u[3]===n[3]&&u[4]===n[4]&&(s=!0);if(!s)return}let o=[n[2],n[3]];if(!n[4]){let s=this.pg.moveplanesets[n[1]].length;o=[s-n[3],s-n[2]]}let l=this.pg.getMoveFromBits(o,n[5],!n[4],this.pg.cmovesbyslice[n[1]],void 0,this.pg.movesetorders[n[1]]),i=$r.transformToKPuzzle(this.orbitNames,l);return this.cache[r]=i,i}moveToKeyString(t){let r=\"\";return t.outerLayer&&(r=r+t.outerLayer+\",\"),t.innerLayer&&(r=r+t.innerLayer+\",\"),r=r+t.family+\",\"+t.amount,r}}});var O0={};he(O0,{PuzzleGeometry:()=>il,Quat:()=>O,getPG3DNamedPuzzles:()=>T0,getPuzzleDescriptionString:()=>N0,getPuzzleGeometryByDesc:()=>qi,getPuzzleGeometryByName:()=>er,parseOptions:()=>y0,parsePuzzleDescription:()=>Zn,schreierSims:()=>nl});var $n=y(()=>{zi();ki();tl();Oi()});async function ft(e){return(await Promise.resolve().then(()=>($n(),O0))).getPuzzleGeometryByName(e,{allMoves:!0,orientCenters:!0,addRotations:!0})}async function eo(e){return(await ft(e)).writekpuzzle(!0)}function yr(e,t,r){let n={id:e,fullName:t,def:async()=>eo(e),svg:async()=>(await ft(e)).generatesvg(),pg:async()=>ft(e)};return r?.inventedBy&&(n.inventedBy=r.inventedBy),r?.inventionYear&&(n.inventionYear=r.inventionYear),n}function rn(e,t,r){let n=yr(e,t,r);return n.appearance=dt.bind(dt,n),n.stickerings=Zr,n}var Ur=y(()=>{Xr()});var W0={};he(W0,{cube2x2x2KPuzzle:()=>Et});var Et,Q0=y(()=>{Et={name:\"2x2x2\",orbits:{CORNERS:{numPieces:8,orientations:3}},startPieces:{CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},moves:{U:{CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},y:{CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]}},x:{CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]}},L:{CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]}},F:{CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]}},R:{CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]}},B:{CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]}},D:{CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}},z:{CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]}}}};Et.moves.Rv=Et.moves.x;Et.moves.Uv=Et.moves.y;Et.moves.Fv=Et.moves.z;Et.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};Et.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};Et.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var q0={};he(q0,{default:()=>w1});var w1,j0=y(()=>{w1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\"\n \"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 520 394\" preserveAspectRatio=\"xMidYMid meet\">\n <title>2x2x2</title>\n <defs>\n <g id=\"sticker\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" stroke=\"black\" stroke-width=\"0.04px\" />\n </g>\n </defs>\n <g id=\"puzzle\" transform=\"translate(5, 5) scale(60)\">\n <use id=\"CORNERS-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(4.4, 2.2)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l0-o2\" xlink:href=\"#sticker\" transform=\"translate(3.2, 2.2)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 0)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(6.6, 2.2)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l1-o2\" xlink:href=\"#sticker\" transform=\"translate(5.4, 2.2)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 0)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(0, 2.2)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l2-o2\" xlink:href=\"#sticker\" transform=\"translate(7.6, 2.2)\" style=\"fill: #26f\"/>\n\n <use id=\"CORNERS-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(2.2, 2.2)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l3-o2\" xlink:href=\"#sticker\" transform=\"translate(1, 2.2)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 4.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(3.2, 3.2)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l4-o2\" xlink:href=\"#sticker\" transform=\"translate(4.4, 3.2)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 4.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(1, 3.2)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l5-o2\" xlink:href=\"#sticker\" transform=\"translate(2.2, 3.2)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l6-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 5.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l6-o1\" xlink:href=\"#sticker\" transform=\"translate(7.6, 3.2)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l6-o2\" xlink:href=\"#sticker\" transform=\"translate(0, 3.2)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l7-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 5.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l7-o1\" xlink:href=\"#sticker\" transform=\"translate(5.4, 3.2)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l7-o2\" xlink:href=\"#sticker\" transform=\"translate(6.6, 3.2)\" style=\"fill: #26f\"/>\n </g>\n\n</svg>`});var to,K0=y(()=>{Ur();Xr();to={id:\"2x2x2\",fullName:\"2\\xD72\\xD72 Cube\",def:async()=>(await Promise.resolve().then(()=>(Q0(),W0))).cube2x2x2KPuzzle,svg:async()=>(await Promise.resolve().then(()=>(j0(),q0))).default,pg:async()=>ft(\"2x2x2\"),appearance:e=>dt(to,e),stickerings:Zr}});var V0={};he(V0,{default:()=>E1});var E1,H0=y(()=>{E1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\"\n \"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 518 392\" preserveAspectRatio=\"xMidYMid meet\">\n <title>3x3x3</title>\n <defs>\n <g id=\"sticker\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" stroke=\"black\" stroke-width=\"0.04px\" />\n </g>\n </defs>\n\n<!-- 0 1 2 3 4 5 6 7 8 9 10 11 -->\n<!-- | | | | | | | | | | | |<- -->\n<!-- 0 - . . . -->\n<!-- 1 - . . . -->\n<!-- 2 - . . . -->\n<!-- 3 - . . . . . . . . . . . . -->\n<!-- 4 - . . . . . . . . . . . . -->\n<!-- 5 - . . . . . . . . . . . . -->\n<!-- 6 - . . . -->\n<!-- 7 - . . . -->\n<!-- 8 - . . . -->\n\n <g id=\"puzzle\" transform=\"translate(5,5) scale(40)\">\n <!-- CORNERS -->\n <use id=\"CORNERS-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,2.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(6.5,3.3)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l0-o2\" xlink:href=\"#sticker\" transform=\"translate(5.3,3.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,0.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(9.7,3.3)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l1-o2\" xlink:href=\"#sticker\" transform=\"translate(8.5,3.3)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,0.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(0.1,3.3)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l2-o2\" xlink:href=\"#sticker\" transform=\"translate(11.7,3.3)\" style=\"fill: #26f\"/>\n\n <use id=\"CORNERS-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,2.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(3.3,3.3)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l3-o2\" xlink:href=\"#sticker\" transform=\"translate(2.1,3.3)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,6.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(5.3,5.3)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l4-o2\" xlink:href=\"#sticker\" transform=\"translate(6.5,5.3)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,6.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(2.1,5.3)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l5-o2\" xlink:href=\"#sticker\" transform=\"translate(3.3,5.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l6-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,8.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l6-o1\" xlink:href=\"#sticker\" transform=\"translate(11.7,5.3)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l6-o2\" xlink:href=\"#sticker\" transform=\"translate(0.1,5.3)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l7-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,8.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l7-o1\" xlink:href=\"#sticker\" transform=\"translate(8.5,5.3)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l7-o2\" xlink:href=\"#sticker\" transform=\"translate(9.7,5.3)\" style=\"fill: #26f\"/>\n\n <!-- EDGES -->\n <use id=\"EDGES-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,2.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,3.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,1.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(7.5,3.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,0.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(10.7,3.3)\" style=\"fill: #26f\"/>\n\n <use id=\"EDGES-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,1.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(1.1,3.3)\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,6.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,5.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(7.5,5.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l6-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,8.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l6-o1\" xlink:href=\"#sticker\" transform=\"translate(10.7,5.3)\" style=\"fill: #26f\"/>\n\n <use id=\"EDGES-l7-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l7-o1\" xlink:href=\"#sticker\" transform=\"translate(1.1,5.3)\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l8-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l8-o1\" xlink:href=\"#sticker\" transform=\"translate(6.5,4.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l9-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l9-o1\" xlink:href=\"#sticker\" transform=\"translate(2.1,4.3)\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l10-o0\" xlink:href=\"#sticker\" transform=\"translate(9.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l10-o1\" xlink:href=\"#sticker\" transform=\"translate(8.5,4.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l11-o0\" xlink:href=\"#sticker\" transform=\"translate(11.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l11-o1\" xlink:href=\"#sticker\" transform=\"translate(0.1,4.3)\" style=\"fill: orange\"/>\n\n <!-- CENTERS -->\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\n <use id=\"CENTERS-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n <use id=\"CENTERS-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n <use id=\"CENTERS-l0-o2\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n <use id=\"CENTERS-l0-o3\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n\n <use id=\"CENTERS-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o2\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o3\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n\n <use id=\"CENTERS-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o2\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o3\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"CENTERS-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o2\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o3\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n\n <use id=\"CENTERS-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o2\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o3\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n\n <use id=\"CENTERS-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o2\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o3\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n </g>\n\n</svg>`});var Y0={};he(Y0,{default:()=>k1});var k1,Z0=y(()=>{k1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"288px\" height=\"288px\" viewBox=\"-16 -16 288 288\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>3x3x3 LL</title>\n <defs>\n <g id=\"sticker\">\n <rect x=\"-10\" y=\"-10\" width=\"1\" height=\"1\" stroke=\"black\" stroke-width=\"0.04px\" />\n </g>\n </defs>\n <g id=\"3x3x3-LL\" stroke=\"none\" stroke-width=\"4\" style=\"none\" stroke-linejoin=\"round\">\n <rect id=\"CENTERS-l0-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"CENTERS-l0-o1\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"CENTERS-l0-o2\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"CENTERS-l0-o3\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n\n <rect id=\"CORNERS-l0-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"160\" y=\"160\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l0-o1\" stroke=\"#000000\" style=\"fill: red\" points=\"224 160 252 160 252 252 224 224\"></polygon>\n <polygon id=\"CORNERS-l0-o2\" stroke=\"#000000\" style=\"fill: limegreen\" transform=\"translate(206, 238) scale(1, -1) rotate(-90) translate(-206, -238) \" points=\"192 192 220 192 220 284 192 256\"></polygon>\n <rect id=\"CORNERS-l1-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"160\" y=\"32\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l1-o1\" stroke=\"#000000\" style=\"fill: #26f\" transform=\"translate(206, 18) rotate(-90) translate(-206, -18) \" points=\"192 -28 220 -28 220 64 192 36\"></polygon>\n <polygon id=\"CORNERS-l1-o2\" stroke=\"#000000\" style=\"fill: red\" transform=\"translate(238, 50) scale(1, -1) translate(-238, -50) \" points=\"224 4 252 4 252 96 224 68\"></polygon>\n <rect id=\"CORNERS-l2-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"32\" y=\"32\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l2-o1\" stroke=\"#000000\" style=\"fill: orange\" transform=\"translate(18, 50) scale(-1, -1) translate(-18, -50) \" points=\"4 4 32 4 32 96 4 68\"></polygon>\n <polygon id=\"CORNERS-l2-o2\" stroke=\"#000000\" style=\"fill: #26f\" transform=\"translate(50, 18) scale(1, -1) rotate(90) translate(-50, -18) \" points=\"36 -28 64 -28 64 64 36 36\"></polygon>\n <rect id=\"CORNERS-l3-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"32\" y=\"160\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l3-o1\" stroke=\"#000000\" style=\"fill: limegreen\" transform=\"translate(50, 238) rotate(90) translate(-50, -238) \" points=\"36 192 64 192 64 284 36 256\"></polygon>\n <polygon id=\"CORNERS-l3-o2\" stroke=\"#000000\" style=\"fill: orange\" transform=\"translate(18, 206) scale(-1, 1) translate(-18, -206) \" points=\"4 160 32 160 32 252 4 224\"></polygon>\n\n <rect id=\"EDGES-l0-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"160\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l0-o1\" stroke=\"#000000\" style=\"fill: limegreen\" transform=\"translate(128, 238) scale(1, -1) rotate(90) translate(-128, -238) \" x=\"114\" y=\"206\" width=\"28\" height=\"64\"></rect>\n <rect id=\"EDGES-l1-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"160\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l1-o1\" stroke=\"#000000\" style=\"fill: red\" x=\"224\" y=\"96\" width=\"28\" height=\"64\"></rect>\n <rect id=\"EDGES-l2-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"32\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l2-o1\" stroke=\"#000000\" style=\"fill: #26f\" transform=\"translate(128, 18) scale(1, -1) rotate(90) translate(-128, -18) \" x=\"114\" y=\"-14\" width=\"28\" height=\"64\"></rect>\n <rect id=\"EDGES-l3-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"32\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l3-o1\" stroke=\"#000000\" style=\"fill: orange\" x=\"4\" y=\"96\" width=\"28\" height=\"64\"></rect>\n\n </g>\n <g style=\"opacity: 0\">\n <!-- CORNERS -->\n <use id=\"CORNERS-l4-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l4-o1\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l4-o2\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l5-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l5-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l5-o2\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l6-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l6-o1\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l6-o2\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l7-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l7-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CORNERS-l7-o2\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n\n <!-- EDGES -->\n <use id=\"EDGES-l4-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l4-o1\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l5-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l5-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l6-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l6-o1\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n\n <use id=\"EDGES-l7-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l7-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l8-o0\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l8-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l9-o0\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l9-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l10-o0\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l10-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l11-o0\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l11-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <!-- CENTERS -->\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\n <use id=\"CENTERS-l1-o0\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o2\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o3\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"CENTERS-l2-o0\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o1\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o2\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o3\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n\n <use id=\"CENTERS-l3-o0\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o2\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o3\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"CENTERS-l4-o0\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o1\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o2\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o3\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n\n <use id=\"CENTERS-l5-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o1\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o2\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o3\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n </g>\n</svg>`});var Ki,X0=y(()=>{Rt();Ur();Xr();Ki={id:\"3x3x3\",fullName:\"3\\xD73\\xD73 Cube\",inventedBy:[\"Ern\\u0151 Rubik\"],inventionYear:1974,def:async()=>ae,svg:async()=>(await Promise.resolve().then(()=>(H0(),V0))).default,llSVG:async()=>(await Promise.resolve().then(()=>(Z0(),Y0))).default,pg:async()=>ft(\"3x3x3\"),appearance:e=>dt(Ki,e),stickerings:Zr}});var J0={};he(J0,{clockKPuzzle:()=>z1});var z1,$0=y(()=>{z1={name:\"Clock\",orbits:{DIALS:{numPieces:18,orientations:12},FACES:{numPieces:18,orientations:1},FRAME:{numPieces:1,orientations:2}},startPieces:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},moves:{UR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,0,0,0,0,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},U_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,0,0,0,-1,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},R_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,1,1,-1,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},D_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},L_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},ALL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,1,1,1,-1,0,-1,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},y2:{DIALS:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[1]}},UL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}}}}});var e2={};he(e2,{default:()=>C1});var C1,t2=y(()=>{C1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 480 240\" preserveAspectRatio=\"xMidYMid meet\">\n <title>clock</title>\n <defs>\n <g id=\"hand\" transform=\"translate(-20, -20)\">\n <path d=\"M19.9995197,2.22079449 L23.8791657,19.0203611 C23.9580836,19.3338406 24,19.6620253 24,20 C24,22.209139 22.209139,24 20,24 C17.790861,24 16,22.209139 16,20 C16,19.6620253 16.0419164,19.3338406 16.1208343,19.0203611 L19.9995197,2.22079449 Z\"></path>\n </g>\n <g id=\"cardinal_hours\" style=\"fill: #FFFFFF\">\n <circle cx=\"0\" cy=\"24\" r=\"2\"></circle>\n <circle cx=\"-24\" cy=\"0\" r=\"2\"></circle>\n <circle cx=\"24\" cy=\"0\" r=\"2\"></circle>\n <circle cx=\"0\" cy=\"-24\" r=\"2\"></circle>\n </g>\n <g id=\"face_hours\">\n <g>\n <use xlink:href=\"#cardinal_hours\"/>\n </g>\n <g transform=\"rotate(30)\">\n <use xlink:href=\"#cardinal_hours\"/>\n </g>\n <g transform=\"rotate(60)\">\n <use xlink:href=\"#cardinal_hours\"/>\n </g>\n </g>\n <g id=\"pegs\" stroke=\"#000000\" style=\"fill: #FFD000\">\n <circle id=\"PEG4\" cx=\"90\" cy=\"90\" r=\"10\"></circle>\n <circle id=\"PEG3\" cx=\"30\" cy=\"90\" r=\"10\"></circle>\n <circle id=\"PEG2\" cx=\"90\" cy=\"30\" r=\"10\"></circle>\n <circle id=\"PEG1\" cx=\"30\" cy=\"30\" r=\"10\"></circle>\n </g>\n <g id=\"frame\" transform=\"translate(-24, -24)\">\n <path stroke=\"#000000\" d=\"M120,20 C137.495665,20 153.941932,24.4930026 168.247913,32.3881183 C171.855881,30.8514056 175.828512,30 180,30 C196.568542,30 210,43.4314575 210,60 C210,64.1714878 209.148594,68.1441192 207.610077,71.7536009 C215.506997,86.0580678 220,102.504335 220,120 C220,137.495665 215.506997,153.941932 207.611882,168.247913 C209.148594,171.855881 210,175.828512 210,180 C210,196.568542 196.568542,210 180,210 C175.828512,210 171.855881,209.148594 168.246399,207.610077 C153.941932,215.506997 137.495665,220 120,220 C102.504335,220 86.0580678,215.506997 71.7520869,207.611882 C68.1441192,209.148594 64.1714878,210 60,210 C43.4314575,210 30,196.568542 30,180 C30,175.828512 30.8514056,171.855881 32.3899234,168.246399 C24.4930026,153.941932 20,137.495665 20,120 C20,102.504335 24.4930026,86.0580678 32.3881183,71.7520869 C30.8514056,68.1441192 30,64.1714878 30,60 C30,43.4314575 43.4314575,30 60,30 C64.1714878,30 68.1441192,30.8514056 71.7536009,32.3899234 C86.0580678,24.4930026 102.504335,20 120,20 Z\"></path>\n </g>\n </defs>\n <g>\n <g transform=\"translate(24, 24)\">\n <use xlink:href=\"#frame\" id=\"FRAME-l0-o0\" style=\"fill: #0C5093\"/>\n <use xlink:href=\"#pegs\" transform=\"translate(36, 36)\"/>\n <g transform=\"translate(36, 36)\">\n <circle id=\"FACES-l0-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l0-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l0-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 36)\">\n <circle id=\"FACES-l1-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l1-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l1-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 36)\">\n <circle id=\"FACES-l2-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l2-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l2-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 96)\">\n <circle id=\"FACES-l3-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l3-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l3-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 96)\">\n <circle id=\"FACES-l4-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l4-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l4-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 96)\">\n <circle id=\"FACES-l5-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l5-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l5-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 156)\">\n <circle id=\"FACES-l6-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l6-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l6-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 156)\">\n <circle id=\"FACES-l7-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l7-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l7-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 156)\">\n <circle id=\"FACES-l8-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l8-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l8-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n </g>\n <g transform=\"translate(264, 24)\">\n <use xlink:href=\"#frame\" id=\"FRAME-l0-o1\" style=\"fill: #90B8DF\"/>\n <use xlink:href=\"#pegs\" transform=\"translate(36, 36)\"/>\n <g transform=\"translate(36, 36)\">\n <circle id=\"FACES-l9-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l9-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l9-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 36)\">\n <circle id=\"FACES-l10-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l10-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l10-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 36)\">\n <circle id=\"FACES-l11-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l11-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l11-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 96)\">\n <circle id=\"FACES-l12-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l12-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l12-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 96)\">\n <circle id=\"FACES-l13-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l13-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l13-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 96)\">\n <circle id=\"FACES-l14-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l14-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l14-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 156)\">\n <circle id=\"FACES-l15-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l15-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l15-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 156)\">\n <circle id=\"FACES-l16-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l16-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l16-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 156)\">\n <circle id=\"FACES-l17-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l17-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l17-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n </g>\n </g>\n</svg>`});var r2,n2=y(()=>{r2={id:\"clock\",fullName:\"Clock\",inventedBy:[\"Christopher C. Wiggs\",\"Christopher J. Taylor\"],inventionYear:1988,def:async()=>(await Promise.resolve().then(()=>($0(),J0))).clockKPuzzle,svg:async()=>(await Promise.resolve().then(()=>(t2(),e2))).default}});async function o2(e,t){let r=await e.def(),n=new qn(r),o=new jn(r),l=()=>o.and([o.move(\"U\"),o.not(o.or(o.moves([\"F\",\"BL\",\"BR\"])))]),i=()=>o.and([o.move(\"U\"),o.not(o.move(\"F\"))]),s=()=>o.or([i(),o.and([o.move(\"F\"),o.not(o.or(o.moves([\"U\",\"BL\",\"BR\"])))])]),u=()=>o.not(o.or([o.and([o.move(\"U\"),o.move(\"F\")]),o.and([o.move(\"F\"),o.move(\"BL\")]),o.and([o.move(\"F\"),o.move(\"BR\")]),o.and([o.move(\"BL\"),o.move(\"BR\")])])),a=()=>o.not(o.or([o.and([o.move(\"F\"),o.move(\"BL\")]),o.and([o.move(\"F\"),o.move(\"BR\")]),o.and([o.move(\"BL\"),o.move(\"BR\")])]));switch(t){case\"full\":break;case\"experimental-fto-fc\":n.set(o.not(l()),x.Ignored);break;case\"experimental-fto-f2t\":n.set(o.not(i()),x.Ignored),n.set(l(),x.Dim);break;case\"experimental-fto-sc\":n.set(o.not(s()),x.Ignored),n.set(i(),x.Dim);break;case\"experimental-fto-l2c\":n.set(o.not(u()),x.Ignored),n.set(s(),x.Dim);break;case\"experimental-fto-lbt\":n.set(o.not(a()),x.Ignored),n.set(u(),x.Dim);break;case\"experimental-fto-l3t\":n.set(a(),x.Dim);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),x.Dim)}return n.toAppearance()}async function l2(){return[\"full\",\"experimental-fto-fc\",\"experimental-fto-f2t\",\"experimental-fto-sc\",\"experimental-fto-l2c\",\"experimental-fto-lbt\",\"experimental-fto-l3t\"]}var i2=y(()=>{Kn()});var Vi,s2=y(()=>{Ur();i2();Vi={id:\"fto\",fullName:\"Face-Turning Octahedron\",inventedBy:[\"Karl Rohrbach\",\"David Pitcher\"],inventionYear:1983,def:async()=>eo(\"FTO\"),svg:async()=>(await ft(\"FTO\")).generatesvg(),pg:async()=>ft(\"FTO\"),appearance:e=>o2(Vi,e),stickerings:l2}});async function a2(e,t){switch(t){case\"full\":case\"F2L\":case\"LL\":return dt(e,t);default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`)}return dt(e,\"full\")}async function u2(){return[\"full\",\"F2L\",\"LL\"]}var f2=y(()=>{Xr()});var ro,g2=y(()=>{Ur();f2();ro=yr(\"megaminx\",\"Megaminx\",{inventionYear:1981});ro.appearance=e=>a2(ro,e);ro.stickerings=u2});var c2={};he(c2,{default:()=>P1});var P1,L2=y(()=>{P1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\"\n \"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"-20 -20 546 480\" preserveAspectRatio=\"xMidYMid meet\">\n <defs>\n </defs>\n <title>pyraminx</title>\n <defs>\n <g id=\"stickerA\" transform=\"scale(1, 0.577350269)\">\n <path\n d=\"m 0,1.732050808 1,-1.732050808 1,1.732050808 z\"\n stroke=\"black\" stroke-width=\"0.04px\" stroke-linecap=\"butt\" stroke-linejoin=\"round\"\n />\n </g>\n <g id=\"stickerV\" transform=\"scale(1, 0.577350269)\">\n <path\n d=\"m 0,0 1,1.732050808 1,-1.732050808 z\"\n stroke=\"black\" stroke-width=\"0.04px\" stroke-linecap=\"butt\" stroke-linejoin=\"round\"\n />\n </g>\n </defs>\n\n<!-- 0 1 2 3 4 5 6 7 8 9 10 -->\n<!-- | | | | | | | | | | | -->\n<!-- 0 - L L L L L F R R R R R -->\n<!-- 1 - L L L F F F R R R -->\n<!-- 2 - L F F F F F R -->\n<!-- 3 - D D D D D -->\n<!-- 4 - D D D -->\n<!-- 5 - D -->\n\n <g id=\"puzzle\" transform=\"translate(5, 5) scale(40, 69.28203232)\">\n <!-- CORNERS -->\n <use id=\"CORNERS-l0-o0\" xlink:href=\"#stickerV\" transform=\"translate(5.2, 1.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l0-o1\" xlink:href=\"#stickerA\" transform=\"translate(3, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l0-o2\" xlink:href=\"#stickerA\" transform=\"translate(7.4, 0)\" style=\"fill: blue\"/>\n\n <use id=\"CORNERS-l3-o0\" xlink:href=\"#stickerV\" transform=\"translate(4.2, 2.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l3-o1\" xlink:href=\"#stickerA\" transform=\"translate(4.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l3-o2\" xlink:href=\"#stickerA\" transform=\"translate(2, 1)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l2-o0\" xlink:href=\"#stickerV\" transform=\"translate(6.2, 2.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l2-o1\" xlink:href=\"#stickerA\" transform=\"translate(8.4, 1)\" style=\"fill: blue\"/>\n <use id=\"CORNERS-l2-o2\" xlink:href=\"#stickerA\" transform=\"translate(6.2, 3.2)\" style=\"fill: yellow\"/>\n\n <use id=\"CORNERS-l1-o1\" xlink:href=\"#stickerA\" transform=\"translate(9.4, 0)\" style=\"fill: blue\"/>\n <use id=\"CORNERS-l1-o2\" xlink:href=\"#stickerA\" transform=\"translate(1, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l1-o0\" xlink:href=\"#stickerA\" transform=\"translate(5.2, 4.2)\" style=\"fill: yellow\"/>\n\n <!-- \"TIPS\" -->\n <!-- CORNERS2 -->\n <use id=\"CORNERS2-l0-o0\" xlink:href=\"#stickerA\" transform=\"translate(5.2, 0.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS2-l0-o1\" xlink:href=\"#stickerV\" transform=\"translate(4, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS2-l0-o2\" xlink:href=\"#stickerV\" transform=\"translate(6.4, 0)\" style=\"fill: blue\"/>\n\n <use id=\"CORNERS2-l3-o0\" xlink:href=\"#stickerA\" transform=\"translate(3.2, 2.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS2-l3-o1\" xlink:href=\"#stickerV\" transform=\"translate(3.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS2-l3-o2\" xlink:href=\"#stickerV\" transform=\"translate(2, 2)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS2-l2-o1\" xlink:href=\"#stickerV\" transform=\"translate(8.4, 2)\" style=\"fill: blue\"/>\n <use id=\"CORNERS2-l2-o2\" xlink:href=\"#stickerV\" transform=\"translate(7.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS2-l2-o0\" xlink:href=\"#stickerA\" transform=\"translate(7.2, 2.066666667)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS2-l1-o1\" xlink:href=\"#stickerV\" transform=\"translate(10.4,0)\" style=\"fill: blue\"/>\n <use id=\"CORNERS2-l1-o2\" xlink:href=\"#stickerV\" transform=\"translate(0, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS2-l1-o0\" xlink:href=\"#stickerV\" transform=\"translate(5.2, 5.2)\" style=\"fill: yellow\"/>\n\n <!-- EDGES -->\n <use id=\"EDGES-l0-o0\" xlink:href=\"#stickerA\" transform=\"translate(4.2, 1.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l0-o1\" xlink:href=\"#stickerV\" transform=\"translate(3, 1)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l5-o0\" xlink:href=\"#stickerA\" transform=\"translate(6.2, 1.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l5-o1\" xlink:href=\"#stickerV\" transform=\"translate(7.4, 1)\" style=\"fill: blue\"/>\n\n <use id=\"EDGES-l1-o1\" xlink:href=\"#stickerV\" transform=\"translate(8.4, 0)\" style=\"fill: blue\"/>\n <use id=\"EDGES-l1-o0\" xlink:href=\"#stickerV\" transform=\"translate(2, 0)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l2-o1\" xlink:href=\"#stickerV\" transform=\"translate(5.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l2-o0\" xlink:href=\"#stickerA\" transform=\"translate(5.2, 2.066666667)\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l3-o0\" xlink:href=\"#stickerV\" transform=\"translate(6.2, 4.2)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l3-o1\" xlink:href=\"#stickerV\" transform=\"translate(9.4, 1)\" style=\"fill: blue\"/>\n\n <use id=\"EDGES-l4-o0\" xlink:href=\"#stickerV\" transform=\"translate(4.2, 4.2)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l4-o1\" xlink:href=\"#stickerV\" transform=\"translate(1, 1)\" style=\"fill: red\"/>\n </g>\n\n</svg>`});var m2,B2=y(()=>{Ur();m2={id:\"pyraminx\",fullName:\"Pyraminx\",inventedBy:[\"Uwe Meffert\"],inventionYear:1970,def:async()=>eo(\"pyraminx\"),svg:async()=>(await Promise.resolve().then(()=>(L2(),c2))).default,pg:async()=>ft(\"pyraminx\")}});var p2={};he(p2,{sq1HyperOrbitKPuzzle:()=>M1});var M1,R2=y(()=>{M1={name:\"Square-1\",orbits:{WEDGES:{numPieces:24,orientations:9},EQUATOR:{numPieces:2,orientations:6}},startPieces:{WEDGES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},moves:{U_SQ_:{WEDGES:{permutation:[11,0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},D_SQ_:{WEDGES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,23,12,13,14,15,16,17,18,19,20,21,22],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},_SLASH_:{WEDGES:{permutation:[0,1,2,3,4,5,12,13,14,15,16,17,6,7,8,9,10,11,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,3]}}}}});var d2={};he(d2,{default:()=>I1});var I1,F2=y(()=>{I1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"360px\" height=\"552px\" viewBox=\"0 0 360 552\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->\n <title>sq1-fancy</title>\n <desc>Created with Sketch.</desc>\n <!-- stroke=\"none\" -->\n <g id=\"sq1-fancy\" stroke=\"#888\" stroke-width=\"0.25\" fill=\"none\" fill-rule=\"evenodd\">\n <g id=\"EQUATOR\" transform=\"translate(24.000000, 264.000000)\">\n <rect id=\"EQUATOR-l1-o3\" style=\"fill: red\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o4\" style=\"fill: red\" x=\"192\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o5\" style=\"fill: limegreen\" x=\"216\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o2\" style=\"fill: limegreen\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o1\" style=\"fill: limegreen\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o0\" style=\"fill: orange\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o3\" style=\"fill: orange\" x=\"0\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o4\" style=\"fill: orange\" x=\"24\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o5\" style=\"fill: limegreen\" x=\"48\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o2\" style=\"fill: limegreen\" x=\"72\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o1\" style=\"fill: limegreen\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o0\" style=\"fill: red\" x=\"120\" y=\"0\" width=\"24\" height=\"24\"></rect>\n </g>\n <g id=\"BOTTOM\" transform=\"translate(41.000000, 257.000000)\" stroke-linejoin=\"round\">\n <g id=\"WEDGES-23\" transform=\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\">\n <polygon id=\"WEDGES-l23-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l23-o7\" style=\"fill: red\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l23-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l23-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l23-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l23-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l23-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l23-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l23-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-22\" transform=\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\">\n <polygon id=\"WEDGES-l22-o8\" style=\"fill: blue\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l22-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l22-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l22-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l22-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l22-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l22-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l22-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l22-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-21\" transform=\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\">\n <polygon id=\"WEDGES-l21-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l21-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l21-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l21-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l21-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l21-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l21-o2\" style=\"fill: blue\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l21-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l21-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-20\" transform=\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\">\n <polygon id=\"WEDGES-l20-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l20-o7\" style=\"fill: blue\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l20-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l20-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l20-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l20-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l20-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l20-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l20-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-19\" transform=\"translate(67.157677, 163.157677)\">\n <polygon id=\"WEDGES-l19-o8\" style=\"fill: orange\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l19-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l19-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l19-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l19-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l19-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l19-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l19-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l19-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-18\" transform=\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\">\n <polygon id=\"WEDGES-l18-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l18-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l18-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l18-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l18-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l18-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l18-o2\" style=\"fill: orange\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l18-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l18-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-17\" transform=\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\">\n <polygon id=\"WEDGES-l17-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l17-o7\" style=\"fill: orange\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l17-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l17-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l17-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l17-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l17-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l17-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l17-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-16\" transform=\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\">\n <polygon id=\"WEDGES-l16-o8\" style=\"fill: limegreen\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l16-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l16-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l16-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l16-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l16-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l16-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l16-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l16-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-15\" transform=\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\">\n <polygon id=\"WEDGES-l15-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l15-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l15-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l15-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l15-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l15-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l15-o2\" style=\"fill: limegreen\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l15-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l15-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-14\" transform=\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\">\n <polygon id=\"WEDGES-l14-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l14-o7\" style=\"fill: limegreen\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l14-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l14-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l14-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l14-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l14-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l14-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l14-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-13\" transform=\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\">\n <polygon id=\"WEDGES-l13-o8\" style=\"fill: red\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l13-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l13-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l13-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l13-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l13-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l13-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l13-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l13-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-12\" transform=\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\">\n <polygon id=\"WEDGES-l12-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l12-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l12-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l12-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l12-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l12-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l12-o2\" style=\"fill: red\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l12-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l12-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n </g>\n <g id=\"TOP\" transform=\"translate(41.000000, -31.000000)\" stroke-linejoin=\"round\">\n <g id=\"WEDGES-11\" transform=\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\">\n <polygon id=\"WEDGES-l11-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l11-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l11-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l11-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l11-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l11-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l11-o2\" style=\"fill: red\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l11-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l11-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-10\" transform=\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\">\n <polygon id=\"WEDGES-l10-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l10-o7\" style=\"fill: red\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l10-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l10-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l10-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l10-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l10-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l10-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l10-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-9\" transform=\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\">\n <polygon id=\"WEDGES-l9-o8\" style=\"fill: limegreen\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l9-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l9-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l9-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l9-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l9-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l9-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l9-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l9-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-8\" transform=\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\">\n <polygon id=\"WEDGES-l8-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l8-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l8-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l8-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l8-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l8-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l8-o2\" style=\"fill: limegreen\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l8-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l8-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-7\" transform=\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\">\n <polygon id=\"WEDGES-l7-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l7-o7\" style=\"fill: limegreen\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l7-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l7-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l7-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l7-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l7-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l7-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l7-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-6\" transform=\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\">\n <polygon id=\"WEDGES-l6-o8\" style=\"fill: orange\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l6-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l6-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l6-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l6-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l6-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l6-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l6-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l6-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-5\" transform=\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\">\n <polygon id=\"WEDGES-l5-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l5-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l5-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l5-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l5-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l5-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l5-o2\" style=\"fill: orange\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l5-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l5-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-4\" transform=\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\">\n <polygon id=\"WEDGES-l4-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l4-o7\" style=\"fill: orange\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l4-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l4-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l4-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l4-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l4-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l4-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l4-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-3\" transform=\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\">\n <polygon id=\"WEDGES-l3-o8\" style=\"fill: blue\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l3-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l3-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l3-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l3-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l3-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l3-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l3-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l3-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-2\" transform=\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\">\n <polygon id=\"WEDGES-l2-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l2-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l2-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l2-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l2-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l2-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l2-o2\" style=\"fill: blue\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l2-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l2-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-1\" transform=\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\">\n <polygon id=\"WEDGES-l1-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l1-o7\" style=\"fill: blue\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l1-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l1-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l1-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l1-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l1-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l1-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l1-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-0\" transform=\"translate(67.157677, 163.157677)\">\n <polygon id=\"WEDGES-l0-o8\" style=\"fill: red\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l0-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l0-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l0-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l0-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l0-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l0-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l0-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l0-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n </g>\n <g id=\"DIAGONALS\" transform=\"translate(168.861561, 1.019238)\" stroke=\"#000000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\n <line x1=\"0\" y1=\"287.842323\" x2=\"70.2768775\" y2=\"550.119201\" id=\"BOTTOM\"></line>\n <line x1=\"0.15767665\" y1=\"262.276878\" x2=\"70.4345542\" y2=\"2.27488928e-16\" id=\"TOP\"></line>\n </g>\n </g>\n</svg>`});var D2,A2=y(()=>{D2={id:\"square1\",fullName:\"Square-1\",inventedBy:[\"Karel Hr\\u0161el\",\"Vojtech Kopsk\\xFD\"],inventionYear:1990,def:async()=>(await Promise.resolve().then(()=>(R2(),p2))).sq1HyperOrbitKPuzzle,svg:async()=>(await Promise.resolve().then(()=>(F2(),d2))).default}});var kt,nn=y(()=>{t0();Rt();Xr();Ur();K0();X0();n2();s2();g2();B2();A2();Kn();kt={\"3x3x3\":Ki,\"2x2x2\":to,\"4x4x4\":rn(\"4x4x4\",\"4\\xD74\\xD74 Cube\"),\"5x5x5\":rn(\"5x5x5\",\"5\\xD75\\xD75 Cube\"),\"6x6x6\":rn(\"6x6x6\",\"6\\xD76\\xD76 Cube\"),\"7x7x7\":rn(\"7x7x7\",\"7\\xD77\\xD77 Cube\"),\"40x40x40\":rn(\"40x40x40\",\"40\\xD740\\xD740 Cube\"),clock:r2,megaminx:ro,pyraminx:m2,skewb:yr(\"skewb\",\"Skewb\",{inventedBy:[\"Tony Durham\"]}),square1:D2,fto:Vi,gigaminx:yr(\"gigaminx\",\"Gigaminx\",{inventedBy:[\"Tyler Fox\"],inventionYear:2006}),master_tetraminx:yr(\"master tetraminx\",\"Master Tetraminx\",{inventedBy:[\"Katsuhiko Okamoto\"],inventionYear:2002})}});function y2(e){h2=e}function Je(){if(!h2)throw new Error(\"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\")}var h2,Ot=y(()=>{h2=!1});async function U2(){return globalThis?.crypto?.getRandomValues?crypto.getRandomValues.bind(crypto):(await(G1??(G1=import(\"crypto\")))).webcrypto.getRandomValues}var G1,b2=y(()=>{G1=null});function _1(e){let t=new Uint32Array(2);e(t);let r=t[0],n=t[1];return Math.floor(r*T1)+Math.floor(n/N1)}function O1(e){if(typeof e!=\"number\"||e<0||Math.floor(e)!==e)throw new Error(\"randomInt.below() not called with a positive integer value.\");if(e>x2)throw new Error(`Called randomInt.below() with max == ${e}, which is larger than JavaScript can handle with integer precision.`)}async function it(){let e=await U2(),t=r=>{O1(r);let n=_1(e),o=Math.floor(x2/r)*r;return n<o?n%r:t(r)};return t}var x2,T1,N1,sl=y(()=>{b2();x2=9007199254740992,T1=2097152,N1=2048});async function Wt(){let e=await it();return t=>t[e(t.length)]}var S2=y(()=>{sl()});async function v2(e){for(let t=1;t<e.length;t++){let r=(await W1)(t);[e[t],e[r]]=[e[r],e[t]]}}var W1,tr=y(()=>{S2();sl();sl();W1=it()});function zt(e,t){let r=[],n=[];for(let f of t.split(`\n`)){let g=f.split(\" \");if(!f.startsWith(\"SetOrder \")){if(f.startsWith(\"Alg \")){let c=k.fromString(f.substring(4)),L=new Xe(e);L.reset(),L.applyAlg(c),n.push({alg:c,transformation:L.state})}else if(f.startsWith(\"SubgroupSizes \"))for(let c=1;c<g.length;c++)r.push(parseInt(g[c]))}}let o={ordering:new Array(r.length)},l=[],i=0;l.push(0);let s=k.fromString(\"\"),u=pt(e);for(let f=0;f<r.length;f++)i+=r[f],l.push(i),n.splice(i-1,0,{alg:s,transformation:u});if(n.length!==i)throw Error(`Bad sgs; expected ${i-r.length} algs but saw ${n.length-r.length}`);let a={};for(let f in e.orbits){let g=e.orbits[f];a[f]=new Array(g.numPieces).fill(!1)}for(let f=r.length-1;f>=0;f--){let g=[];for(let L=l[f];L<l[f+1];L++){let p=n[L].transformation;for(let m in e.orbits){let D=e.orbits[m];for(let A=0;A<D.numPieces;A++)(p[m].permutation[A]!==A||p[m].orientation[A]!==0)&&(a[m][A]||(g.push({orbitName:m,permutationIdx:A}),a[m][A]=!0))}}let c={};for(let L=l[f];L<l[f+1];L++){let p=Nt(e,n[L].transformation),m=\"\";for(let D=0;D<g.length;D++){let A=g[D];m=`${m} ${p[A.orbitName].permutation[A.permutationIdx]} ${p[A.orbitName].orientation[A.permutationIdx]}`}c[m]=n[L],n[L].alg=n[L].alg.invert(),n[L].transformation=Nt(e,n[L].transformation)}o.ordering[f]={pieceOrdering:g,lookup:c}}return o}var ln=y(()=>{pe();Rt()});var P2={};he(P2,{cachedData222:()=>X1,data222:()=>C2});async function X1(){return Z1??(Z1=C2())}async function C2(){return zt(await to.def(),`SubgroupSizes 24 21 18 15 12 9 6\n\nAlg F\nAlg F2\nAlg F'\nAlg D\nAlg D2\nAlg D'\nAlg L\nAlg L2\nAlg L'\nAlg F U\nAlg F U2\nAlg F U'\nAlg F L\nAlg F L2\nAlg F L'\nAlg F2 U\nAlg F2 U'\nAlg F2 R\nAlg F2 R'\nAlg F' D\nAlg F' D'\nAlg F' R\nAlg F' R'\nAlg B\nAlg B2\nAlg B'\nAlg B R\nAlg B R2\nAlg B R'\nAlg B2 U\nAlg B2 U2\nAlg B2 U'\nAlg B2 R\nAlg B2 R2\nAlg B2 R'\nAlg B' U\nAlg B' U'\nAlg F D' F'\nAlg F2 L F2\nAlg B R' B2\nAlg B R' U2\nAlg B2 U R'\nAlg B2 R B'\nAlg R\nAlg R2\nAlg R'\nAlg R2 U\nAlg R2 U2\nAlg R2 U'\nAlg R' U\nAlg R' U2\nAlg R' U'\nAlg F R F'\nAlg F R2 F'\nAlg L2 D' L2\nAlg L' B L\nAlg R2 U' R\nAlg R' U R2\nAlg R' U R'\nAlg F R F' U2\nAlg F' U F\nAlg F' U2 F\nAlg F' U' F\nAlg L F L'\nAlg L F2 L'\nAlg L F' L'\nAlg F' D R D'\nAlg F' U2 F U'\nAlg F D2 B D2 F'\nAlg F2 D' L2 D F2\nAlg F2 L F L' F\nAlg L' F2 L' F2 L\nAlg F L' U' L2 F L'\nAlg F2 L F L' U2 F\nAlg U\nAlg U2\nAlg U'\nAlg F2 D2 B D2 F2\nAlg F2 D2 B' D2 F2\nAlg L2 D2 R D2 L2\nAlg L2 D2 R' D2 L2\nAlg F2 D2 B D2 F2 U\nAlg F2 D2 B D2 F2 U'\nAlg U F2 D2 B D2 F2\nAlg U F2 D2 B' D2 F2\nAlg F D B D' R' F' U\nAlg F' D L F U B' L'\nAlg F' L' F U L U L'\nAlg D' L F D R' U' F'\nAlg L F L' U' F' U' F\nAlg L D' F' L' U' R F\nAlg F D F U F' L' F' R'\nAlg F2 D' F L F2 D F' R'\nAlg F D' F L' D F R2 U2 F' U'\nAlg F D' L D' L F D2 L2 B' R'\nAlg F L' D F R2 D2 L D F' U2\nAlg F L' D F2 D' L F L2 F2 U\nAlg F D F' D L2 F R' F' D' B2 U'`)}var Z1,M2=y(()=>{nn();ln();Z1=null});async function sn(e,t){let r=new at;r.experimentalPushAlg(e);for(let n of t){let o=(await Wt())(n);o!==null&&r.push(B.fromString(o))}return r.toAlg()}var al=y(()=>{pe();tr()});function _2(e,t){return e.slice(t)+e.slice(0,t)}function lc(e){let t=[[],[]];for(let r=0;r<6;r++)if(e.CENTERS.permutation[r]!==r)throw new Error(\"non-oriented puzzles are not supported\");for(let r=0;r<12;r++)t[0].push(_2(tc[e.EDGES.permutation[r]],e.EDGES.orientation[r]));for(let r=0;r<8;r++)t[1].push(_2(rc[e.CORNERS.permutation[r]],e.CORNERS.orientation[r]));return t.push(nc),t}function O2(e){let t=lc(e);return oc.map(([r,n,o])=>t[r][n][o]).join(\"\")}var tc,rc,nc,oc,W2=y(()=>{tc=\"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \"),rc=\"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \"),nc=\"U L F R B D\".split(\" \"),oc=[[1,2,0],[0,2,0],[1,1,0],[0,3,0],[2,0,0],[0,1,0],[1,3,0],[0,0,0],[1,0,0],[1,0,2],[0,1,1],[1,1,1],[0,8,1],[2,3,0],[0,10,1],[1,4,1],[0,5,1],[1,7,2],[1,3,2],[0,0,1],[1,0,1],[0,9,0],[2,2,0],[0,8,0],[1,5,1],[0,4,1],[1,4,2],[1,5,0],[0,4,0],[1,4,0],[0,7,0],[2,5,0],[0,5,0],[1,6,0],[0,6,0],[1,7,0],[1,2,2],[0,3,1],[1,3,1],[0,11,1],[2,1,0],[0,9,1],[1,6,1],[0,7,1],[1,5,2],[1,1,2],[0,2,1],[1,2,1],[0,10,0],[2,4,0],[0,11,0],[1,7,1],[0,6,1],[1,6,2]]});function Q2(e,t,r){for(let n in e.orbits)if(!Wn(e,n,t,r,{ignoreOrientation:n===\"CENTERS\"}))return!1;return!0}function q2(e,t){let r=new Xe(e);if(Q2(e,r.state,t))return!1;for(let n of\"ULFRBD\")for(let o=1;o<4;o++)if(r.reset(),r.applyMove(new B(n,o)),Q2(e,r.state,t))return!1;return!0}var j2=y(()=>{pe();Rt()});var K2,V2=y(()=>{K2=[[\"R U'\",\"R2 B\",\"D2 B2\",\"D' L B'\",\"R' U'\",\"B\",\"D B2\",\"R' B\",\"L' U\",\"L2 B'\",\"B2\",\"D L B'\",\"L U\",\"B'\",\"U'\",\"R B\",\"D' B2\",\"L B'\",\"U2\",\"U L' B'\",\"\",\"U' L' B'\",\"U\",\"L' B'\"],[\"F2 L2\",\"F' L'\",\"R' F L2\",\"D' L2\",\"F L2\",\"F2 L'\",\"R' F' L'\",\"R2 F L2\",\"R2 F2 L'\",\"L2\",\"F L'\",\"D' L\",\"D2 L2\",\"R2 F' L'\",\"D L\",\"\",\"L2 F L'\",\"L F' L2\",\"L F L'\",\"F' L2\",\"L'\",\"D L2\",\"D F L'\",\"L\"],[\"R B U2 B'\",\"R2 B U' B'\",\"F2 B U B'\",\"F B2 L' B2\",\"B2 L B2\",\"B U' B'\",\"R2 B U2 B'\",\"R' B U' B'\",\"B2 L' B2\",\"F B U B'\",\"B2 U' B2\",\"B' L B\",\"L F' B D' B'\",\"B' U' B2 D B'\",\"B U2 B'\",\"R B U' B'\",\"B2 L2 B2\",\"D' B' L B\",\"B U B'\",\"F' B2 L' B2\",\"\",\"B2 L' B' U' B'\"],[\"U F2 L2 U'\",\"F' U L' U'\",\"F2 U L' U'\",\"U F L2 U'\",\"U2 B2 U2\",\"R' U' B U\",\"D2 U L U'\",\"D U2 B' U2\",\"U L2 U'\",\"F U L' U'\",\"D U L U'\",\"U2 B' U2\",\"\",\"U2 B' U' L' U'\",\"U2 L' U2\",\"U' B U\",\"U L U'\",\"D' U2 B' U2\",\"U L' U'\",\"U2 B U2\"],[\"R' D' F2\",\"F'\",\"F2\",\"D R F'\",\"R D' F2\",\"R2 F'\",\"D' F2\",\"R F'\",\"F2 R' D' F2\",\"F\",\"D2 F2\",\"D' R F'\",\"R2 D' F2\",\"R' F'\",\"D F2\",\"D2 R F'\",\"\",\"F R' D' F2\"],[\"R' D2 F' D F\",\"R F2 R2 F2\",\"R2 F' D2 F\",\"F' R2 D2 F\",\"L D' L'\",\"D F' D2 F\",\"F2 R2 F2\",\"R F' D2 F\",\"F' R2 D' F\",\"F' R' D2 F\",\"F2 R' F2\",\"L D L'\",\"F' R D' F\",\"F2 R F2\",\"F' D2 F\",\"\",\"L D2 R D' L'\",\"F' D2 F' R F2\",\"D2 R2 F2 R2 F2\",\"D F' D' F\",\"F' D F\"],[\"U F2 U'\",\"R U F' U'\",\"D R U F2 U'\",\"U F U'\",\"R2 U F2 U'\",\"R' U F' U'\",\"R U F2 U'\",\"R2 U F' U'\",\"\",\"U L D L' F U'\",\"F2 D' R D F2\",\"D2 U F U'\",\"R' U F2 U'\",\"U F' U'\",\"F2 D2 R D2 F2\",\"D U F U'\"],[\"R2\",\"R' B' D B\",\"D R'\",\"F' R2 F\",\"\",\"R B' D B\",\"R'\",\"B' D B\",\"D' R'\",\"D2 F' R2 F\",\"R\",\"R2 B' D B\",\"D2 R'\",\"B' D' B\"],[\"R2 D' R2\",\"F' R' F R\",\"R D' R2 D R'\",\"D2 R2 D2 R2\",\"R' D' F' R F\",\"U F D F' U'\",\"\",\"R2 D2 B R' B' R'\",\"R' F D' F2 R F\",\"R2 D R2\",\"F2 U F U' F\",\"R' D F' R F\",\"D R2 D2 R2\",\"U F D' F' U'\",\"D R' D2 F' R F\",\"R2 D2 R2\",\"U F D2 F' U'\",\"R' D2 F' R F\"],[\"B R B'\",\"F D F' B R2 B'\",\"D B R2 B'\",\"D2 B R' B'\",\"B R2 B'\",\"D B R' B'\",\"D' B R2 B'\",\"B R' B'\",\"\",\"B R2 B' D B R' B'\",\"D2 B R2 B'\",\"D' B R' B'\"],[\"\",\"R' D R F D2 F'\",\"R' D R\",\"D F D' F'\",\"R F' R' F\",\"F D' F'\",\"R' D' R\",\"F D2 F'\",\"R' D2 R\",\"F D F'\"],[\"\",\"F2 D2 R F' R' D2 F' D2 F'\",\"F2 D2 F' D' F D' F' D2 F'\",\"F2 D F2 D F2 D2 F2\",\"D2 F L D2 L' D2 F'\",\"D F D2 L D2 L' F'\",\"R' D B' D2 B D' R\",\"R' D2 B' D2 B R\",\"F D2 F' D F D F'\",\"F D' L D2 L' D F'\",\"B D' F D B' D' F'\",\"F D2 L D2 L' F'\",\"F D' L D L' D F'\",\"F L D2 L' D2 F'\",\"R' B' D2 B D2 R\"],[\"D'\",\"F L D L' D' F'\",\"D2\",\"L B D B' D' L'\",\"D\",\"B' L' D' L D B\",\"\",\"D F L D L' D' F'\"],[\"F' D2 F D F' D F\",\"F' D' R' D R F\",\"F' R' D' R D F\",\"B D R D' R' B'\",\"\",\"D B' D' L' D L B\"],[\"D F D F' D F D2 F'\",\"F' U2 B' R' B U2 F' L F' L' F'\",\"\",\"D2 L D L2 F L F2 D F\"],[\"L B' L' F L B L' F'\",\"F2 U F' D2 F U' F' D2 F'\",\"D' F' D B D' F D B'\",\"F L2 F R2 F' L2 F R2 F2\",\"D B D' F' D B' D' F\",\"R F L F' R' F L' F'\",\"\",\"D2 B L' U2 L B' D2 B L' U2 L B'\",\"D2 F R' U2 R F' D2 F R' U2 R F'\",\"R F L' F' R' F L F'\",\"D F D' B' D F' D' B\",\"L2 F2 L' B2 L F2 L' B2 L'\"],[\"L B R' B' L' B R B'\",\"R' B R F' R' B' R F\",\"L D2 L U L' D2 L U' L2\",\"\",\"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\",\"L B L' F L B' L' F'\",\"F' D2 F' U' F D2 F' U F2\",\"D' B' D F D' B D F'\"],[\"\",\"D2 F' L U2 L' F D2 F' L U2 L' F\",\"D2 B' R U2 R' B D2 B' R U2 R' B\"]]});var bu={};he(bu,{initialize:()=>Yc,solveState:()=>Zc});function H2(){}function sc(e){function t(){}return t.prototype=e||{},new t}function ac(e){return e instanceof Array?e[0]:null}function oo(e,t,r){var n=ul,o=uc,l=ac,i=n[e],s=l(i);i&&!s?K=i:(K=n[e]=t?o(t):{},K.castableTypeMap$=r,K.constructor=K,!t&&(K.typeMarker$=H2));for(var u=3;u<arguments.length;++u)arguments[u].prototype=K;s&&(K.___clazz$=s)}function uc(e){var t=ul;return sc(t[e])}function fc(){}function fl(e){return e<<24>>24}function Xi(){this.typeName=null,this.simpleName=null,this.packageName=null,this.compoundName=null,this.canonicalName=null,this.typeId=null,this.arrayLiterals=null}function Ji(e,t){var r;return r=new Xi,r.packageName=e,r.compoundName=t,r}function nr(e,t,r){var n;return n=Ji(e,t),Lc(r,n),n}function gc(e,t){var r;return r=Ji(e,t),r.modifiers=2,r}function gl(e,t){var r;return r=Ji(\"\",e),r.typeId=t,r.modifiers=1,r}function Y2(e,t){var r=e.arrayLiterals=e.arrayLiterals||[];return r[t]||(r[t]=e.createClassLiteralForArray(t))}function cc(e){if(e.isPrimitive())return null;var t=e.typeId,r=ul[t];return r}function Lc(e,t){if(!!e){t.typeId=e;var r=cc(t);if(!r){ul[e]=[t];return}r.___clazz$=t}}function X(e,t){return Y2(e,t)}function Y(e,t,r,n,o,l){var i;return i=X2(o,n),J(X(e,l),t,r,o,i),i}function je(e,t,r,n,o,l){return Z2(e,t,r,n,o,0,l)}function Z2(e,t,r,n,o,l,i){var s,u,a,f,g;if(f=o[l],a=l==i-1,s=a?n:0,g=X2(s,f),J(X(e,i-l),t[l],r[l],s,g),!a)for(++l,u=0;u<f;++u)g[u]=Z2(e,t,r,n,o,l,i);return g}function J(e,t,r,n,o){return o.___clazz$=e,o.castableTypeMap$=t,o.typeMarker$=H2,o.__elementTypeId$=r,o.__elementTypeCategory$=n,o}function X2(e,t){var r=new Array(t),n;switch(e){case 6:n={l:0,m:0,h:0};break;case 7:n=0;break;case 8:n=!1;break;default:return r}for(var o=0;o<t;++o)r[o]=n;return r}function J2(e){var t,r,n;return t=e&qe,r=e>>22&qe,n=e<0?rr:0,mc(t,r,n)}function mc(e,t,r){return{l:e,m:t,h:r}}function Bc(e,t){var r,n,o;return r=e.l+t.l,n=e.m+t.m+(r>>22),o=e.h+t.h+(n>>22),{l:r&qe,m:n&qe,h:o&rr}}function Ct(e,t){return{l:e.l&t.l,m:e.m&t.m,h:e.h&t.h}}function $i(e){var t,r;return e>-129&&e<128?(t=e+128,Ll==null&&(Ll=Y(Vc,ie,293,256,0,1)),r=Ll[t],!r&&(r=Ll[t]=J2(e)),r):J2(e)}function $2(e,t){var r,n;return r=e.h>>19,n=t.h>>19,r==0?n!=0||e.h>t.h||e.h==t.h&&e.m>t.m||e.h==t.h&&e.m==t.m&&e.l>=t.l:!(n==0||e.h<t.h||e.h==t.h&&e.m<t.m||e.h==t.h&&e.m==t.m&&e.l<t.l)}function es(e,t){return e.l!=t.l||e.m!=t.m||e.h!=t.h}function ts(e,t){return{l:e.l|t.l,m:e.m|t.m,h:e.h|t.h}}function cl(e,t){var r,n,o;return t&=63,t<22?(r=e.l<<t,n=e.m<<t|e.l>>22-t,o=e.h<<t|e.m>>22-t):t<44?(r=0,n=e.l<<t-22,o=e.m<<t-22|e.l>>44-t):(r=0,n=0,o=e.l<<t-44),{l:r&qe,m:n&qe,h:o&rr}}function br(e,t){var r,n,o,l,i;return t&=63,r=e.h,n=(r&ic)!=0,n&&(r|=-1048576),t<22?(i=r>>t,l=e.m>>t|r<<22-t,o=e.l>>t|e.m<<22-t):t<44?(i=n?rr:0,l=r>>t-22,o=e.m>>t-22|r<<44-t):(i=n?rr:0,l=n?qe:0,o=r>>t-44),{l:o&qe,m:l&qe,h:i&rr}}function eu(e,t){var r,n,o;return r=e.l-t.l,n=e.m-t.m+(r>>22),o=e.h-t.h+(n>>22),{l:r&qe,m:n&qe,h:o&rr}}function xr(e){return e.l|e.m<<22}function pc(e){this.string=e}function or(e,t){return e>t?e:t}function rs(e,t){return e<t?e:t}function Rc(e,t){return e.indexOf(t)}function dc(e){return Fc(e,0,e.length)}function Fc(e,t,r){for(var n=\"\",o=t;o<r;){var l=Math.min(o+1e4,r);n+=String.fromCharCode.apply(null,e.slice(o,l)),o=l}return n}function Dc(e){return String.fromCharCode(e&Ge)}function tu(e){return e.string+=\" \",e}function ru(e,t){return e.string+=t,e}function hc(){pc.call(this,\"\")}function ml(e,t){var r;if(e===t)return!0;if(e.length!=t.length)return!1;for(r=0;r<e.length;++r)if(e[r]!=t[r])return!1;return!0}function Sr(){nu||(nu=!0,ir=je(de,[ie,Re],[11,0],7,[495,18],2),mn=je(de,[ie,Re],[11,0],7,[324,18],2),gn=je(de,[ie,Re],[11,0],7,[336,18],2),lr=je(de,[ie,Re],[11,0],7,[495,8],2),Rl=Y(ve,Se,0,20048,7,1),pl=Y(ve,Se,0,20791,7,1),Ln=Y(ve,Se,0,82945,7,1),an=je(de,[ie,Re],[11,0],7,[2768,10],2),fn=je(de,[ie,Re],[11,0],7,[2768,10],2),cn=je(de,[ie,Re],[11,0],7,[24,10],2),so=je(de,[ie,Re],[11,0],7,[24,16],2),vr=je(de,[ie,Re],[11,0],7,[140,16],2),Bl=Y(ve,Se,0,8305,7,1),un=Y(ve,Se,0,48441,7,1))}function yc(e,t,r){return e.slice_0=ir[t.slice_0][r],e.flip=gn[t.flip][(Z(),Er)[r<<3|t.fsym]],e.fsym=e.flip&7^t.fsym,e.flip>>=3,e.twist=mn[t.twist][Er[r<<3|t.tsym]],e.tsym=e.twist&7^t.tsym,e.twist>>=3,e.prun=or(or($e(Rl,e.twist*495+lr[e.slice_0][e.tsym]),$e(pl,e.flip*495+lr[e.slice_0][e.fsym])),$e(Ln,e.twist<<11|ur[e.flip<<3|e.fsym^e.tsym])),e.prun}function Uc(e,t,r){return r=(Z(),fo)[3][r],e.flipc=gn[t.flipc>>3][Er[r<<3|t.flipc&7]]^t.flipc&7,e.twistc=mn[t.twistc>>3][Er[r<<3|t.twistc&7]]^t.twistc&7,$e(Ln,e.twistc>>3<<11|ur[e.flipc^e.twistc&7])}function ou(e,t,r){var n;return e.twist=(Z(),go)[Al(t)],e.flip=wr[Dl(t)],e.tsym=e.twist&7,e.twist=e.twist>>3,e.prun=$e(Ln,e.twist<<11|ur[e.flip^e.tsym]),e.prun>r||(e.fsym=e.flip&7,e.flip=e.flip>>3,e.slice_0=494-Rn(t.ea,8,!0),e.prun=or(e.prun,or($e(Rl,e.twist*495+lr[e.slice_0][e.tsym]),$e(pl,e.flip*495+lr[e.slice_0][e.fsym]))),e.prun>r)?!1:(n=new ue,ao(t,1,n),uo(t,1,n),e.twistc=go[Al(n)],e.flipc=wr[Dl(n)],e.prun=or(e.prun,$e(Ln,e.twistc>>3<<11|ur[e.flipc^e.twistc&7])),e.prun<=r)}function lo(){Sr()}function $e(e,t){return Sr(),e[t>>3]>>(t<<2)&15}function lu(e){Sr(),!(dl==2||dl==1&&!e)&&(dl==0&&(Gc(),bc(),Sc(),wc(),xc(),Z(),as(2048,us,wr,cu=Y(de,Re,0,336,7,1),0),as(2187,Ls,go,cs=Y(de,Re,0,324,7,1),1),vc(),Ec(),kc()),io(Bl,cn,so,an,(Z(),gs),584244,e),io(un,ns,vr,fn,gs,514084,e),io(Rl,ir,lr,mn,cs,431619,e),io(pl,ir,lr,gn,cu,431619,e),io(Ln,null,null,mn,cs,103939,e),dl=e?2:1)}function bc(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<2768;r++)for(Pc(e,(Z(),Bn)[r]),n=0;n<10;n++)sr(e,fe[(_e(),ht)[n]],t),an[r][n]=Ul(qt[tt(t.ca,8,!1)])&Ge}function xc(){var e,t,r,n,o;for(e=new ue,t=new ue,ns=je(de,[ie,Re],[11,0],7,[140,10],2),r=0;r<140;r++){for(Au(e.ca,r%70,0,!1),o=0;o<10;o++)sr(e,(Z(),fe)[(_e(),ht)[o]],t),ns[r][o]=Rn(t.ca,0,!1)+70*(165>>o&1^~~(r/70))&Ge;for(n=0;n<16;n++)ao(e,(Z(),et)[0][n],t),vr[r][n]=Rn(t.ca,0,!1)+70*~~(r/70)&Ge}}function Sc(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<2768;r++)for(uu(e,(Z(),Bn)[r]),n=0;n<10;n++)gt(e,fe[(_e(),ht)[n]],t),fn[r][n]=qt[tt(t.ea,8,!0)]}function vc(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<336;r++)for(is(e,(Z(),us)[r]),n=0;n<18;n++)gt(e,fe[n],t),gn[r][n]=wr[Dl(t)]}function wc(){var e,t,r,n,o;for(e=new ue,t=new ue,r=0;r<24;r++){for(kr(e.ea,r,12,!0),o=0;o<10;o++)gt(e,(Z(),fe)[(_e(),ht)[o]],t),cn[r][o]=tt(t.ea,12,!0)%24&Ge;for(n=0;n<16;n++)uo(e,(Z(),et)[0][n],t),so[r][n]=tt(t.ea,12,!0)%24&Ge}}function io(e,t,r,n,o,l,i){var s,u,a,f,g,c,L,p,m,D,A,b,h,C,E,j,ee,T,te,U,z,M,S,v,P,Q,H,ge,Le,De,Ae,St,Ee,Ve,be,F;if(h=l&15,A=(l>>4&1)==1?Zi:0,a=(l>>5&1)==1,s=l>>8&15,f=l>>12&15,g=l>>16&15,D=i?f:g,b=(1<<h)-1,u=t==null,p=u?2048:t.length,m=p*n.length,L=a?10:18,c=L==10?66:599186,E=(e[m>>3]>>(m<<2)&15)-1,E==-1){for(T=0;T<~~(m/8)+1;T++)e[T]=no;e[0]^=1,E=0}for(;E<D;){for(P=(E+1)*no^-1,te=0;te<e.length;te++)be=e[te]^P,be&=be>>1,e[te]+=be&be>>2&no;for(M=E>s,De=M?E+2:E,Le=De*no,C=M?E:E+2,++E,F=E^E+1,Ve=0,T=0;T<m;++T,Ve>>=4){if((T&7)==0&&(Ve=e[T>>3],((Ve^Le)-no&~(Ve^Le)&-2004318072)==0)){T+=7;continue}if((Ve&15)==De)for(H=T%p,Ae=~~(T/p),j=0,ee=0,u&&(j=(Z(),wr)[H],ee=j&7,j>>=3),v=0;v<L;v++){if(Ee=n[Ae][v],u?ge=(Z(),ur)[gn[j][Er[v<<3|ee]]^ee^Ee&b]:ge=r[t[H][v]][Ee&b],Ee>>=h,U=Ee*p+ge,Q=e[U>>3]>>(U<<2)&15,Q!=C){Q<E-1&&(v+=c>>v&3);continue}if(M){e[T>>3]^=F<<(T<<2);break}for(e[U>>3]^=F<<(U<<2),S=1,St=o[Ee];(St>>=1)!=0;S++)(St&1)==1&&(z=Ee*p,u?z+=(Z(),ur)[wr[ge]^S]:z+=r[ge][S^A>>(S<<1)&3],(e[z>>3]>>(z<<2)&15)==C&&(e[z>>3]^=F<<(z<<2)))}}}}function Ec(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<324;r++)for(ss(e,(Z(),Ls)[r]),n=0;n<18;n++)sr(e,fe[n],t),mn[r][n]=go[Al(t)]}function kc(){var e,t,r,n,o,l,i,s;for(e=new ue,t=new ue,n=0;n<495;n++){for(Au(e.ea,494-n,8,!0),l=0;l<18;l+=3)gt(e,(Z(),fe)[l],t),ir[n][l]=494-Rn(t.ea,8,!0)&Ge;for(o=0;o<16;o+=2)uo(e,(Z(),et)[0][o],t),lr[n][o>>1]=494-Rn(t.ea,8,!0)&Ge}for(r=0;r<495;r++)for(o=0;o<18;o+=3)for(s=ir[r][o],i=1;i<3;i++)s=ir[s][o],ir[r][o+i]=s&Ge}function Z(){iu||(iu=!0,Qt=Y(co,ie,7,16,0,1),fe=Y(co,ie,7,18,0,1),xl=Y(Hc,ie,0,18,6,1),Lu=Y(ve,Se,0,48,7,1),jt=je(ve,[ie,Se],[17,0],7,[16,16],2),et=je(ve,[ie,Se],[17,0],7,[16,16],2),fo=je(ve,[ie,Se],[17,0],7,[16,18],2),Er=Y(ve,Se,0,144,7,1),fr=je(ve,[ie,Se],[17,0],7,[16,18],2),us=Y(de,Re,0,336,7,1),Ls=Y(de,Re,0,324,7,1),Bn=Y(de,Re,0,2768,7,1),pn=Y($,oe,0,2768,7,1),fs=Y(de,Re,0,2768,7,1),bl=Y($,oe,0,24,7,1),wr=Y(de,Re,0,2048,7,1),go=Y(de,Re,0,2187,7,1),qt=Y(de,Re,0,40320,7,1),ur=Y(de,Re,0,2688,7,1),ms=new At(2531,1373,67026819,1367),Bs=new At(2089,1906,322752913,2040),Sl=J(X($,2),ie,10,0,[J(X($,1),oe,0,7,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),J(X($,1),oe,0,7,[6,7,8,0,1,2,3,4,5,15,16,17,9,10,11,12,13,14]),J(X($,1),oe,0,7,[3,4,5,6,7,8,0,1,2,12,13,14,15,16,17,9,10,11]),J(X($,1),oe,0,7,[2,1,0,5,4,3,8,7,6,11,10,9,14,13,12,17,16,15]),J(X($,1),oe,0,7,[8,7,6,2,1,0,5,4,3,17,16,15,11,10,9,14,13,12]),J(X($,1),oe,0,7,[5,4,3,8,7,6,2,1,0,14,13,12,17,16,15,11,10,9])]),Ic(),Tc())}function os(e){e.ca=J(X($,1),oe,0,7,[0,1,2,3,4,5,6,7]),e.ea=J(X($,1),oe,0,7,[0,2,4,6,8,10,12,14,16,18,20,22])}function su(e){!e.temps&&(e.temps=new ue),sr(Bs,e,e.temps),sr(e.temps,ms,e),gt(Bs,e,e.temps),gt(e.temps,ms,e)}function ls(e,t){var r,n;for(n=0;n<8;n++)e.ca[n]=t.ca[n];for(r=0;r<12;r++)e.ea[r]=t.ea[r]}function zc(e){return Ul(qt[tt(e.ca,8,!1)])}function Cc(e){return qt[tt(e.ea,8,!0)]}function Dl(e){var t,r;for(r=0,t=0;t<11;t++)r=r<<1|e.ea[t]&1;return r}function Al(e){var t,r;for(r=0,t=0;t<7;t++)r+=(r<<1)+(e.ca[t]>>3);return r}function hl(e){var t,r;for(!e.temps&&(e.temps=new ue),r=0;r<12;r++)e.temps.ea[e.ea[r]>>1]=(r<<1|e.ea[r]&1)<<24>>24;for(t=0;t<8;t++)e.temps.ca[e.ca[t]&7]=(t|32>>(e.ca[t]>>3)&24)<<24>>24;ls(e,e.temps)}function au(e){var t,r,n,o,l,i,s;for(t=new fu(e),o=new ue,r=Ul(qt[tt(t.ca,8,!1)])>>4,i={l:0,m:0,h:0},s=0;s<6;s++){if(n=Ul(qt[tt(t.ca,8,!1)])>>4,r==n)for(l=0;l<16;l++)ao(t,et[0][l],o),ml(o.ca,e.ca)&&(uo(t,et[0][l],o),ml(o.ea,e.ea)&&(i=ts(i,cl({l:1,m:0,h:0},(s<<4|l)<48?s<<4|l:48))));su(t),s%3==2&&hl(t)}return i}function Pc(e,t){kr(e.ca,t,8,!1)}function uu(e,t){kr(e.ea,t,8,!0)}function is(e,t){var r,n,o;for(n=0,r=10;r>=0;--r,t>>=1)n^=o=t&1,e.ea[r]=(e.ea[r]&-2|o)<<24>>24;e.ea[11]=(e.ea[11]&-2|n)<<24>>24}function ss(e,t){var r,n,o;for(n=15,r=6;r>=0;--r,t=~~(t/3))n-=o=t%3,e.ca[r]=(e.ca[r]&7|o<<3)<<24>>24;e.ca[7]=(e.ca[7]&7|n%3<<3)<<24>>24}function Mc(e){var t,r,n,o,l;for(l=0,o=0,n=0;n<12;n++)o|=1<<(e.ea[n]>>1),l^=e.ea[n]&1;if(o!=4095)return-2;if(l!=0)return-3;for(r=0,l=0,t=0;t<8;t++)r|=1<<(e.ca[t]&7),l+=e.ca[t]>>3;return r!=255?-4:l%3!=0?-5:(Rs(tt(e.ea,12,!0),12)^Rs(tt(e.ca,8,!1),8))!=0?-6:0}function ao(e,t,r){Z();var n,o,l,i,s,u;for(u=Qt[et[0][t]],s=Qt[t],n=0;n<8;n++)l=u.ca[e.ca[s.ca[n]&7]&7]>>3,i=e.ca[s.ca[n]&7]>>3,o=l<3?i:(3-i)%3,r.ca[n]=(u.ca[e.ca[s.ca[n]&7]&7]&7|o<<3)<<24>>24}function sr(e,t,r){Z();var n,o,l;for(n=0;n<8;n++)o=e.ca[t.ca[n]&7]>>3,l=t.ca[n]>>3,r.ca[n]=(e.ca[t.ca[n]&7]&7|(o+l)%3<<3)<<24>>24}function yl(e,t,r){var n,o,l,i;for(n=0;n<8;n++)l=e.ca[t.ca[n]&7]>>3,i=t.ca[n]>>3,o=l+(l<3?i:6-i),o=o%3+(l<3==i<3?0:3),r.ca[n]=(e.ca[t.ca[n]&7]&7|o<<3)<<24>>24}function ue(){Z(),os(this)}function At(e,t,r,n){os(this),kr(this.ca,e,8,!1),ss(this,t),kr(this.ea,r,12,!0),is(this,n)}function fu(e){os(this),ls(this,e)}function Ul(e){return Z(),e^Zi>>((e&15)<<1)&3}function uo(e,t,r){Z();var n,o,l;for(l=Qt[et[0][t]],o=Qt[t],n=0;n<12;n++)r.ea[n]=(l.ea[e.ea[o.ea[n]>>1]>>1]^e.ea[o.ea[n]>>1]&1^o.ea[n]&1)<<24>>24}function gt(e,t,r){Z();var n;for(n=0;n<12;n++)r.ea[n]=(e.ea[t.ea[n]>>1]^t.ea[n]&1)<<24>>24}function ar(e,t,r){Z();var n;return n=fs[e],r&&(n=n^Zi>>((n&15)<<1)&3),n&65520|jt[n&15][t]}function gu(){return Z(),0}function Ic(){var e,t;for(fe[0]=new At(15120,0,119750400,0),fe[3]=new At(21021,1494,323403417,0),fe[6]=new At(8064,1236,29441808,550),fe[9]=new At(9,0,5880,0),fe[12]=new At(1230,412,2949660,0),fe[15]=new At(224,137,328552,137),e=0;e<18;e+=3)for(t=0;t<2;t++)fe[e+t+1]=new ue,gt(fe[e+t],fe[e],fe[e+t+1]),sr(fe[e+t],fe[e],fe[e+t+1])}function Gc(){Z();var e,t,r;for(as(40320,Bn,qt,gs=Y(de,Re,0,2768,7,1),2),e=new ue,r=0;r<2768;r++)uu(e,Bn[r]),pn[r]=Rn(e.ea,0,!0)+Rs(Bn[r],8)*70<<24>>24,hl(e),fs[r]=qt[tt(e.ea,8,!0)];for(t=0;t<24;t++)kr(e.ea,t,12,!0),hl(e),bl[t]=tt(e.ea,12,!0)%24<<24>>24}function Tc(){var e,t,r,n,o,l,i,s,u,a,f,g,c,L,p,m;for(e=new ue,t=new ue,r=new At(28783,0,259268407,0),m=new At(15138,0,119765538,7),g=new At(5167,0,83473207,0),o=0;o<8;o++)g.ca[o]=fl(g.ca[o]|24);for(l=0;l<16;l++)Qt[l]=new fu(e),yl(e,m,t),gt(e,m,t),p=t,t=e,e=p,l%4==3&&(yl(p,g,t),gt(p,g,t),p=t,t=e,e=p),l%8==7&&(yl(p,r,t),gt(p,r,t),p=t,t=e,e=p);for(i=0;i<16;i++)for(u=0;u<16;u++)for(yl(Qt[i],Qt[u],e),f=0;f<16;f++)if(ml(Qt[f].ca,e.ca)){jt[i][u]=f,et[f][u]=i;break}for(a=0;a<18;a++)for(L=0;L<16;L++){for(ao(fe[a],et[0][L],e),c=0;c<18;c++)if(ml(fe[c].ca,e.ca)){fo[L][a]=c,fr[L][(_e(),dn)[a]]=dn[c];break}L%2==0&&(Er[a<<3|L>>1]=fo[L][a])}for(n=0;n<18;n++)for(xl[n]=au(fe[n]),s=n,L=0;L<48;L++)fo[L%16][s]<n&&(Lu[L]|=1<<n),L%16==15&&(s=Sl[2][s])}function as(e,t,r,n,o){Z();var l,i,s,u,a,f,g,c,L;for(l=new ue,s=new ue,i=0,a=0,L=o>=2?1:2,f=o!=1,u=0;u<e;u++)if(r[u]==0){switch(o){case 0:is(l,u);break;case 1:ss(l,u);break;case 2:kr(l.ea,u,8,!0)}for(g=0;g<16;g+=L){switch(f?uo(l,g,s):ao(l,g,s),o){case 0:a=Dl(s);break;case 1:a=Al(s);break;case 2:a=tt(s.ea,8,!0)}o==0&&(ur[i<<3|g>>1]=a&Ge),a==u&&(n[i]=(n[i]|1<<~~(g/L))&Ge),c=~~((i<<4|g)/L),r[a]=c&Ge}t[i++]=u&Ge}return i}function Nc(e,t,r,n,o,l,i,s){var u,a,f,g,c;if(g=or($e((Sr(),un),(i>>4)*140+vr[(Z(),pn)[s>>4]&255][et[i&15][s&15]]),or($e(un,n*140+vr[pn[t]&255][et[o][r]]),$e(Bl,t*24+so[l][r]))),g>e.maxDep2)return g-e.maxDep2;for(u=e.maxDep2;u>=g&&(c=pu(e,n,o,t,r,l,u,e.depth1,10),!(c<0));u--){for(u-=c,e.solLen=0,e.solution=new Uu,Kc(e.solution,e.verbose,e.urfIdx,e.depth1),f=0;f<e.depth1+u;f++)hu(e.solution,e.move[f]);for(a=e.preMoveLen-1;a>=0;a--)hu(e.solution,e.preMoves[a]);e.solLen=e.solution.length_0}return u!=e.maxDep2?(e.maxDep2=rs(du,e.solLen-e.length1-1),$2(e.probe,e.probeMin)?0:1):1}function _c(e){var t,r,n,o,l,i,s,u,a,f,g,c,L,p,m;if(e.isRec=!1,$2(e.probe,e.solution?e.probeMin:e.probeMax))return 0;for(e.probe=Bc(e.probe,{l:1,m:0,h:0}),n=e.valid1;n<e.depth1;n++)sr(e.phase1Cubie[n],(Z(),fe)[e.move[n]],e.phase1Cubie[n+1]),gt(e.phase1Cubie[n],fe[e.move[n]],e.phase1Cubie[n+1]);for(e.valid1=e.depth1,s=zc(e.phase1Cubie[e.depth1]),u=s&15,s>>=4,a=Cc(e.phase1Cubie[e.depth1]),f=a&15,a>>=4,g=tt(e.phase1Cubie[e.depth1].ea,12,!0)%24,r=ar(a,f,!1),t=ar(s,u,!0),o=e.depth1==0?-1:e.move[e.depth1-1],l=e.preMoveLen==0?-1:e.preMoves[e.preMoveLen-1],m=0,p=(e.preMoveLen==0?1:2)*(e.depth1==0?1:2),c=0,L=(1<<p)-1;c<p;c++){if((L>>c&1)!=0){if(L&=~(1<<c),m=Nc(e,s,u,a,f,g,r,t),m==0||m>2)break;m==2&&(L&=4<<c)}if(L==0)break;(c&1)==0&&e.depth1>0?(i=(_e(),dn)[~~(o/3)*3+1],e.move[e.depth1-1]=ht[i]*2-e.move[e.depth1-1],g=(Sr(),cn)[g][i],s=an[s][(Z(),fr)[u][i]],u=jt[s&15][u],s>>=4,a=fn[a][fr[f][i]],f=jt[a&15][f],a>>=4,t=ar(s,u,!0),r=ar(a,f,!1)):e.preMoveLen>0&&(i=(_e(),dn)[~~(l/3)*3+1],e.preMoves[e.preMoveLen-1]=ht[i]*2-e.preMoves[e.preMoveLen-1],g=(Z(),bl)[(Sr(),cn)[bl[g]][i]],s=an[t>>4][fr[t&15][i]],t=s&-16|jt[s&15][t&15],s=ar(t>>4,t&15,!0),u=s&15,s>>=4,a=fn[r>>4][fr[r&15][i]],r=a&-16|jt[a&15][r&15],a=ar(r>>4,r&15,!1),f=a&15,a>>=4)}return e.depth1>0&&(e.move[e.depth1-1]=o),e.preMoveLen>0&&(e.preMoves[e.preMoveLen-1]=l),m==0?0:2}function Oc(e){var t;for(e.conjMask=0,e.selfSym=au(e.cc),e.conjMask|=es(Ct(br(e.selfSym,16),{l:Ge,m:0,h:0}),{l:0,m:0,h:0})?18:0,e.conjMask|=es(Ct(br(e.selfSym,32),{l:Ge,m:0,h:0}),{l:0,m:0,h:0})?36:0,e.conjMask|=es(Ct(br(e.selfSym,48),{l:Ge,m:0,h:0}),{l:0,m:0,h:0})?56:0,e.selfSym=Ct(e.selfSym,{l:qe,m:qe,h:15}),e.maxPreMoves=e.conjMask>7?0:20,t=0;t<6;t++)ls(e.urfCubieCube[t],e.cc),ou(e.urfCoordCube[t],e.urfCubieCube[t],20),su(e.cc),t%3==2&&hl(e.cc)}function mu(e,t,r,n,o){var l,i,s,u,a,f;if(t.prun==0&&n<5)return e.allowShorter||n==0?(e.depth1-=n,a=_c(e),e.depth1+=n,a):1;for(f=gu($i(r)),l=0;l<18;l+=3)if(!(l==o||l==o-9)){for(s=0;s<3;s++)if(i=l+s,!(e.isRec&&i!=e.move[e.depth1-n]||f!=0&&(f&1<<i)!=0)){if(u=yc(e.nodeUD[n],t,i),u>n)break;if(u==n)continue;if(u=Uc(e.nodeUD[n],t,i),u>n)break;if(u==n)continue;if(e.move[e.depth1-n]=i,e.valid1=rs(e.valid1,e.depth1-n),a=mu(e,e.nodeUD[n],r&xr((Z(),xl)[i]),n-1,l),a==0)return 0;if(a>=2)break}}return 1}function Bu(e,t,r,n,o){var l,i,s;if(e.preMoveLen=e.maxPreMoves-t,(e.isRec?e.depth1==e.length1-e.preMoveLen:e.preMoveLen==0||(225207>>r&1)==0)&&(e.depth1=e.length1-e.preMoveLen,e.phase1Cubie[0]=n,e.allowShorter=e.depth1==ps&&e.preMoveLen!=0,ou(e.nodeUD[e.depth1+1],n,e.depth1)&&mu(e,e.nodeUD[e.depth1+1],o,e.depth1,-1)==0))return 0;if(t==0||e.preMoveLen+ps>=e.length1)return 1;for(s=gu($i(o)),(t==1||e.preMoveLen+1+ps>=e.length1)&&(s|=225207),r=~~(r/3)*3,l=0;l<18;l++){if(l==r||l==r-9||l==r+9){l+=2;continue}if(!(e.isRec&&l!=e.preMoves[e.maxPreMoves-t]||(s&1<<l)!=0)&&(sr((Z(),fe)[l],n,e.preMoveCubes[t]),gt(fe[l],n,e.preMoveCubes[t]),e.preMoves[e.maxPreMoves-t]=l,i=Bu(e,t-1,l,e.preMoveCubes[t],o&xr(xl[l])),i==0))return 0}return 1}function pu(e,t,r,n,o,l,i,s,u){var a,f,g,c,L,p,m,D,A,b,h;if(t==0&&n==0&&l==0)return i;for(A=(_e(),Lo)[u],m=0;m<10;m++){if((A>>m&1)!=0){m+=66>>m&3;continue}if(D=(Sr(),cn)[l][m],f=an[n][(Z(),fr)[o][m]],g=jt[f&15][o],f>>=4,L=fn[t][fr[r][m]],p=jt[L&15][r],L>>=4,c=ar(L,p,!1),a=ar(f,g,!0),b=$e(un,(c>>4)*140+vr[pn[a>>4]&255][et[c&15][a&15]]),b>i+1)return i-b+1;if(b>=i){m+=66>>m&3&i-b;continue}if(b=or($e(Bl,f*24+so[D][g]),$e(un,L*140+vr[pn[f]&255][et[p][g]])),b>=i){m+=66>>m&3&i-b;continue}if(h=pu(e,L,p,f,g,D,i-1,s+1,m),h>=0)return e.move[s]=ht[m],h;if(h<-2)break;h<-1&&(m+=66>>m&3)}return-1}function Wc(e){for(e.length1=e.isRec?e.length1:0;e.length1<e.solLen;e.length1++)for(e.maxDep2=rs(du,e.solLen-e.length1-1),e.urfIdx=e.isRec?e.urfIdx:0;e.urfIdx<6;e.urfIdx++)if((e.conjMask&1<<e.urfIdx)==0&&Bu(e,e.maxPreMoves,-30,e.urfCubieCube[e.urfIdx],xr(Ct(e.selfSym,{l:Ge,m:0,h:0})))==0)return e.solution?yu(e.solution):\"Error 8\";return e.solution?yu(e.solution):\"Error 7\"}function Qc(e,t){var r;return r=qc(e,t),r!=0?\"Error \"+(r<0?-r:r):(e.solLen=22,e.probe={l:0,m:0,h:0},e.probeMax={l:3531008,m:23,h:0},e.probeMin={l:0,m:0,h:0},e.verbose=0,e.solution=null,e.isRec=!1,lu(!1),Oc(e),Wc(e))}function qc(e,t){var r,n,o,l;for(n=0,o=Y($,oe,0,54,7,1),r=dc(J(X(de,1),Re,0,7,[t.charCodeAt(4),t.charCodeAt(13),t.charCodeAt(22),t.charCodeAt(31),t.charCodeAt(40),t.charCodeAt(49)])),l=0;l<54;l++){if(o[l]=Rc(r,Dc(t.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}return n!=10066329?-1:(jc(o,e.cc),Mc(e.cc))}function Ru(){var e,t,r;for(this.move=Y(ve,Se,0,31,7,1),this.nodeUD=Y(Fl,ie,31,21,0,1),this.nodeRL=Y(Fl,ie,31,21,0,1),this.nodeFB=Y(Fl,ie,31,21,0,1),this.cc=new ue,this.urfCubieCube=Y(co,ie,7,6,0,1),this.urfCoordCube=Y(Fl,ie,31,6,0,1),this.phase1Cubie=Y(co,ie,7,21,0,1),this.preMoveCubes=Y(co,ie,7,21,0,1),this.preMoves=Y(ve,Se,0,20,7,1),t=0;t<21;t++)this.nodeUD[t]=new lo,this.nodeRL[t]=new lo,this.nodeFB[t]=new lo,this.phase1Cubie[t]=new ue;for(r=0;r<6;r++)this.urfCubieCube[r]=new ue,this.urfCoordCube[r]=new lo;for(e=0;e<20;e++)this.preMoveCubes[e+1]=new ue}function _e(){if(!Fu){Fu=!0;var e,t,r,n,o,l;for(zr=J(X($,2),ie,10,0,[J(X($,1),oe,0,7,[8,9,20]),J(X($,1),oe,0,7,[6,18,38]),J(X($,1),oe,0,7,[0,36,47]),J(X($,1),oe,0,7,[2,45,11]),J(X($,1),oe,0,7,[29,26,15]),J(X($,1),oe,0,7,[27,44,24]),J(X($,1),oe,0,7,[33,53,42]),J(X($,1),oe,0,7,[35,17,51])]),Vt=J(X($,2),ie,10,0,[J(X($,1),oe,0,7,[5,10]),J(X($,1),oe,0,7,[7,19]),J(X($,1),oe,0,7,[3,37]),J(X($,1),oe,0,7,[1,46]),J(X($,1),oe,0,7,[32,16]),J(X($,1),oe,0,7,[28,25]),J(X($,1),oe,0,7,[30,43]),J(X($,1),oe,0,7,[34,52]),J(X($,1),oe,0,7,[23,12]),J(X($,1),oe,0,7,[21,41]),J(X($,1),oe,0,7,[50,39]),J(X($,1),oe,0,7,[48,14])]),Kt=je(ve,[ie,Se],[17,0],7,[13,13],2),ds=J(X(Ac,1),ie,2,4,[\"U \",\"U2\",\"U'\",\"R \",\"R2\",\"R'\",\"F \",\"F2\",\"F'\",\"D \",\"D2\",\"D'\",\"L \",\"L2\",\"L'\",\"B \",\"B2\",\"B'\"]),ht=J(X(ve,1),Se,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),dn=Y(ve,Se,0,18,7,1),Lo=Y(ve,Se,0,11,7,1),t=0;t<18;t++)dn[ht[t]]=t;for(r=0;r<10;r++)for(n=~~(ht[r]/3),Lo[r]=0,o=0;o<10;o++)l=~~(ht[o]/3),Lo[r]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(Lo[10]=0,e=0;e<13;e++)for(Kt[e][0]=Kt[e][e]=1,o=1;o<e;o++)Kt[e][o]=Kt[e-1][o-1]+Kt[e-1][o]}}function Rn(e,t,r){_e();var n,o,l,i,s;for(n=e.length-1,l=0,s=4,o=n;o>=0;o--)i=Du(e[o],r),(i&12)==t&&(l+=Kt[o][s--]);return l}function Rs(e,t){_e();var r,n;for(n=0,r=t-2;r>=0;r--)n^=e%(t-r),e=~~(e/(t-r));return n&1}function tt(e,t,r){_e();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<t-1;n++)l=Du(e[n],r)<<2,o=(t-n)*o+xr(Ct(br(i,l),{l:15,m:0,h:0})),i=eu(i,cl({l:1118480,m:279620,h:69905},l));return o}function Du(e,t){return t?e>>1:e&7}function Au(e,t,r,n){_e();var o,l,i,s;for(o=e.length-1,s=4,l=o,i=o;i>=0;i--)t>=Kt[i][s]?(t-=Kt[i][s--],e[i]=vl(e[i],s|r,n)):((l&12)==r&&(l-=4),e[i]=vl(e[i],l--,n))}function kr(e,t,r,n){_e();var o,l,i,s,u,a;for(a={l:1323536,m:2777561,h:1043915},o={l:0,m:0,h:0},s=2;s<=r;s++)o=ts(cl(o,4),$i(t%s)),t=~~(t/s);for(l=0;l<r-1;l++)u=(xr(o)&15)<<2,o=br(o,4),e[l]=vl(e[l],xr(Ct(br(a,u),{l:15,m:0,h:0})),n),i=eu(cl({l:1,m:0,h:0},u),{l:1,m:0,h:0}),a=ts(Ct(a,i),Ct(br(a,4),{l:~i.l&qe,m:~i.m&qe,h:~i.h&rr}));e[r-1]=vl(e[r-1],xr(Ct(a,{l:15,m:0,h:0})),n)}function vl(e,t,r){return(r?t<<1|e&1:t|e&-8)<<24>>24}function jc(e,t){_e();var r,n,o,l,i,s,u,a;for(l=0;l<8;l++)t.ca[l]=0;for(i=0;i<12;i++)t.ea[i]=0;for(s=0;s<8;s++){for(a=0;a<3&&!(e[zr[s][a]]==0||e[zr[s][a]]==3);a++);for(r=e[zr[s][(a+1)%3]],n=e[zr[s][(a+2)%3]],u=0;u<8;u++)if(r==~~(zr[u][1]/9)&&n==~~(zr[u][2]/9)){t.ca[s]=fl(a%3<<3|u);break}}for(o=0;o<12;o++)for(u=0;u<12;u++){if(e[Vt[o][0]]==~~(Vt[u][0]/9)&&e[Vt[o][1]]==~~(Vt[u][1]/9)){t.ea[o]=fl(u<<1);break}if(e[Vt[o][0]]==~~(Vt[u][1]/9)&&e[Vt[o][1]]==~~(Vt[u][0]/9)){t.ea[o]=fl(u<<1|1);break}}}function hu(e,t){var r,n,o;if(e.length_0==0){e.moves[e.length_0++]=t;return}if(r=~~(t/3),n=~~(e.moves[e.length_0-1]/3),r==n){o=(t%3+e.moves[e.length_0-1]%3+1)%4,o==3?--e.length_0:e.moves[e.length_0-1]=r*3+o;return}if(e.length_0>1&&r%3==n%3&&r==~~(e.moves[e.length_0-2]/3)){o=(t%3+e.moves[e.length_0-2]%3+1)%4,o==3?(e.moves[e.length_0-2]=e.moves[e.length_0-1],--e.length_0):e.moves[e.length_0-2]=r*3+o;return}e.moves[e.length_0++]=t}function Kc(e,t,r,n){e.verbose=t,e.urfIdx=r,e.depth1=n}function yu(e){var t,r,n;if(r=new hc,n=(e.verbose&2)!=0?(e.urfIdx+3)%6:e.urfIdx,n<3)for(t=0;t<e.length_0;t++)(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\". \"),tu(ru(r,(_e(),ds)[(Z(),Sl)[n][e.moves[t]]]));else for(t=e.length_0-1;t>=0;t--)tu(ru(r,(_e(),ds)[(Z(),Sl)[n][e.moves[t]]])),(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\". \");return r.string}function Uu(){this.moves=Y(ve,Se,0,31,7,1)}var ie,qe,rr,ic,Ge,Re,Se,Zi,no,oe,K,ul,Ll,Ac,nu,vr,ns,an,un,fn,gn,Bl,so,cn,Ln,mn,lr,pl,ir,Rl,dl,Fl,iu,Qt,qt,Bn,wr,us,ur,bl,pn,fs,Er,fo,fr,jt,et,cu,gs,cs,go,Ls,Lu,fe,xl,ms,Bs,Sl,co,du,ps,Fu,Kt,Lo,zr,Vt,ds,dn,ht,ve,Vc,$,Hc,de,Yc,Zc,xu=y(()=>{ie={3:1},qe=4194303,rr=1048575,ic=524288,Ge=65535,Re={11:1,3:1},Se={17:1,3:1},Zi=14540032,no=286331153,oe={10:1,3:1},ul={};oo(1,null,{},fc);oo(79,1,{},Xi);K.createClassLiteralForArray=function(t){var r;return r=new Xi,r.modifiers=4,t>1?r.componentType=Y2(this,t-1):r.componentType=this,r};K.isPrimitive=function(){return(this.modifiers&1)!=0};Ac=nr(\"java.lang\",\"String\",2);nu=!1;oo(31,1,{31:1},lo);K.flip=0;K.flipc=0;K.fsym=0;K.prun=0;K.slice_0=0;K.tsym=0;K.twist=0;K.twistc=0;dl=0,Fl=nr(\"org.cubing.min2phase.client\",\"CoordCube\",31),iu=!1;co=nr(\"org.cubing.min2phase.client\",\"CubieCube\",7);oo(72,1,{},Ru);K.allowShorter=!1;K.conjMask=0;K.depth1=0;K.isRec=!1;K.length1=0;K.maxDep2=0;K.maxPreMoves=0;K.preMoveLen=0;K.probe={l:0,m:0,h:0};K.probeMax={l:0,m:0,h:0};K.probeMin={l:0,m:0,h:0};K.selfSym={l:0,m:0,h:0};K.solLen=0;K.urfIdx=0;K.valid1=0;K.verbose=0;du=12,ps=7,Fu=!1;oo(150,1,{},Uu);K.depth1=0;K.length_0=0;K.urfIdx=0;K.verbose=0;ve=gl(\"int\",\"I\");nr(\"com.google.gwt.lang\",\"CollapsedPropertyHolder\",252);nr(\"com.google.gwt.lang\",\"JavaClassHierarchySetupUtil\",254);Vc=nr(\"com.google.gwt.lang\",\"LongLibBase/LongEmul\",null);nr(\"com.google.gwt.lang\",\"ModuleUtils\",257);$=gl(\"byte\",\"B\"),Hc=gl(\"long\",\"J\"),de=gl(\"char\",\"C\");nr(\"com.google.gwt.user.client.rpc\",\"XsrfToken\",null),gc(\"java.util\",\"Map/Entry\");Yc=function(){lu(!1)},Zc=function(e){return Qc(new Ru,e)}});async function Su(){let e=await kt[\"3x3x3\"].def(),t=new Xe(e);for(let r of K2)t.applyAlg(k.fromString((await Wt())(r)));return q2(e,t.state)?t.state:Su()}function vu(){return Xc??(Xc=Promise.resolve().then(()=>(xu(),bu)))}async function Fs(e){return Je(),k.fromString((await vu()).solveState(O2(e)))}async function Fn(){return Fs(await Su())}async function wu(){(await vu()).initialize()}async function Eu(){return sn(await Fn(),Jc)}async function zu(){let e=new at,t=await Fn();return e.experimentalPushAlg(ku),e.experimentalPushAlg(t),e.experimentalPushAlg(ku),e.toAlg()}var Xc,Jc,ku,Ds=y(()=>{pe();Rt();nn();Ot();al();tr();W2();j2();V2();Xc=null;Jc=[[null,\"Rw\",\"Rw2\",\"Rw'\",\"Fw\",\"Fw'\"],[null,\"Dw\",\"Dw2\",\"Dw'\"]];ku=new k(\"R' U' F\")});function se(e,...t){let r=t.length,n=e[t[r-1]];for(let o=r;o>0;o--)e[t[o]]=e[t[o-1]];return e[t[0]]=n,se}function Cu(e,t,r,n){r=(r||8)-1;let o=1985229328,l=0;n??(n=0),n<0&&(t<<=1);for(let i=0;i<r;++i){let s=As[r-i],u=~~(t/s);l^=u,t%=s,u<<=2,e[i]=o>>u&7;let a=(1<<u)-1;o=(o&a)+(o>>4&~a)}return n<0&&(l&1)!=0?(e[r]=e[r-1],e[r-1]=o&7):e[r]=o&7,e}var ce,As,Pu=y(()=>{ce=[],As=[1];for(let e=0;e<32;++e){ce[e]=[];for(let t=0;t<32;++t)ce[e][t]=0}for(let e=0;e<32;++e){ce[e][0]=ce[e][e]=1,As[e+1]=As[e]*(e+1);for(let t=1;t<e;++t)ce[e][t]=ce[e-1][t-1]+ce[e-1][t]}});var Wf={};he(Wf,{initialize:()=>Lm,random444Scramble:()=>mm});function G(e,t){let r=new Array(e);if(t!==void 0)for(let n=0;n<e;n++)r[n]=new Array(t);return r}function lL(e){return new mo[e]}function st(e,t,r,...n){let o=mo[e];o&&!o.___clazz$?V=o.prototype:(!o&&(o=mo[e]=function(){}),V=o.prototype=t<0?{}:lL(t),V.castableTypeMap$=r);for(let l of n)l.prototype=V;o.___clazz$&&(V.___clazz$=o.___clazz$,o.___clazz$=null)}function gr(e){let t={};for(let r=0,n=e.length;r<n;++r)t[e[r]]=1;return t}function Tu(){}function iL(e,t){let r=Nu(0,t);return _u(e.___clazz$,e.castableTypeMap$,e.queryId$,r),r}function Nu(e,t){let r=new Array(t);if(e===3)for(let n=0;n<t;++n){let o={m:0,l:0,h:0};o.l=o.m=o.h=0,r[n]=o}else if(e>0){let n=[null,0,!1][e];for(let o=0;o<t;++o)r[o]=n}return r}function Us(e,t,r,n,o){let l=Nu(o,n);return _u(e,t,r,l),l}function _u(e,t,r,n){return Wu(),aL(n,bs,xs),n.___clazz$=e,n.castableTypeMap$=t,n.queryId$=r,n}function wl(e,t,r){return e[t]=r}function Wu(){Ou||(Ou=!0,bs=[],xs=[],sL(new Tu,bs,xs))}function sL(e,t,r){let n=0,o;for(let l in e)(o=e[l])&&(t[n]=l,r[n]=o,++n)}function aL(e,t,r){Wu();for(let n=0,o=t.length;n<o;++n)e[t[n]]=r[n]}function uL(e,t){return e.castableTypeMap$&&!!e.castableTypeMap$[t]}function fL(e,t){return e!==null&&uL(e,t)}function gL(){if(Qu)return!1;Qu=!0,Pl=G(15582,36),Ml=G(15582),Ut=G(15582),hn=G(48,48),bt=G(48,36),An=G(48),ws=G(48)}function Ss(e){e.ct=G(24)}function qu(e,t){let r,n;if(fL(t,Iu)){for(r=t,n=0;n<24;++n)if(e.ct[n]!==r.ct[n])return!1;return!0}return!1}function El(e){let t,r,n;for(r=0,n=8,t=23;t>=0;--t)e.ct[t]===1&&(r+=ce[t][n--]);return r}function kl(e){let t,r;if(Dn!==null)return Dn[El(e)];for(r=0;r<48;++r){if(t=RL(El(e)),t!==-1)return t*64+r;ne(e,0),r%2==1&&ne(e,1),r%8==7&&ne(e,2),r%16==15&&ne(e,3)}}function yt(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:R(e.ct,0,1,2,3,r);break;case 1:R(e.ct,16,17,18,19,r);break;case 2:R(e.ct,8,9,10,11,r);break;case 3:R(e.ct,4,5,6,7,r);break;case 4:R(e.ct,20,21,22,23,r);break;case 5:R(e.ct,12,13,14,15,r);break;case 6:R(e.ct,0,1,2,3,r),R(e.ct,8,20,12,16,r),R(e.ct,9,21,13,17,r);break;case 7:R(e.ct,16,17,18,19,r),R(e.ct,1,15,5,9,r),R(e.ct,2,12,6,10,r);break;case 8:R(e.ct,8,9,10,11,r),R(e.ct,2,19,4,21,r),R(e.ct,3,16,5,22,r);break;case 9:R(e.ct,4,5,6,7,r),R(e.ct,10,18,14,22,r),R(e.ct,11,19,15,23,r);break;case 10:R(e.ct,20,21,22,23,r),R(e.ct,0,8,4,14,r),R(e.ct,3,11,7,13,r);break;case 11:R(e.ct,12,13,14,15,r),R(e.ct,1,20,7,18,r),R(e.ct,0,23,6,17,r)}}function ne(e,t){switch(t){case 0:yt(e,19),yt(e,28);break;case 1:yt(e,21),yt(e,32);break;case 2:R(e.ct,0,3,1,2,1),R(e.ct,8,11,9,10,1),R(e.ct,4,7,5,6,1),R(e.ct,12,15,13,14,1),R(e.ct,16,19,21,22,1),R(e.ct,17,18,20,23,1);break;case 3:yt(e,18),yt(e,29),yt(e,24),yt(e,35)}}function ju(e,t){let r;for(r=0;r<t;++r)ne(e,0),r%2==1&&ne(e,1),r%8==7&&ne(e,2),r%16==15&&ne(e,3)}function vs(e,t){let r,n;for(n=8,r=23;r>=0;--r)e.ct[r]=0,t>=ce[r][n]&&(t-=ce[r][n--],e.ct[r]=1)}function zl(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function Bo(){let e;for(Ss(this),e=0;e<8;++e)this.ct[e]=1;for(e=8;e<24;++e)this.ct[e]=0}function Cl(e,t){let r;for(Ss(this),r=0;r<24;++r)this.ct[r]=~~(e.ct[r]/2)===t?1:0}function po(e){let t;for(Ss(this),t=0;t<24;++t)this.ct[t]=e[t]}function cL(){let e,t,r=new Bo,n=new Bo;for(e=0;e<15582;++e)for(vs(n,Ml[e]),t=0;t<36;++t)zl(r,n),yt(r,t),Pl[e][t]=kl(r)}function LL(){let e,t,r,n,o,l,i,s;for($l(Ut),Ut[0]=0,t=0,r=1;r!==15582;)for(l=t>4,s=l?-1:t,e=l?t:-1,++t,n=0;n<15582;++n)if(Ut[n]===s){for(i=0;i<27;++i)if(o=~~Pl[n][i]>>>6,Ut[o]===e)if(++r,l){Ut[n]=t;break}else Ut[o]=t}}function mL(e){let t,r,n,o=new po(e.ct);for(n=0;n<48;++n){for(t=!0,r=0;r<24;++r)if(o.ct[r]!==~~(r/4)){t=!1;break}if(t)return n;ne(o,0),n%2==1&&ne(o,1),n%8==7&&ne(o,2),n%16==15&&ne(o,3)}return-1}function BL(){let e,t,r,n=new Bo;for(e=0;e<24;++e)n.ct[e]=e;let o=new po(n.ct),l=new po(n.ct),i=new po(n.ct);for(e=0;e<48;++e){for(t=0;t<48;++t){for(r=0;r<48;++r)qu(n,o)&&(hn[e][t]=r,r===0&&(An[e]=t)),ne(o,0),r%2==1&&ne(o,1),r%8==7&&ne(o,2),r%16==15&&ne(o,3);ne(n,0),t%2==1&&ne(n,1),t%8==7&&ne(n,2),t%16==15&&ne(n,3)}ne(n,0),e%2==1&&ne(n,1),e%8==7&&ne(n,2),e%16==15&&ne(n,3)}for(e=0;e<48;++e)for(zl(n,l),ju(n,An[e]),t=0;t<36;++t)for(zl(o,n),yt(o,t),ju(o,e),r=0;r<36;++r)if(zl(i,l),yt(i,r),qu(i,o)){bt[e][t]=r;break}for(vs(n,0),e=0;e<48;++e)ws[An[e]]=El(n),ne(n,0),e%2==1&&ne(n,1),e%8==7&&ne(n,2),e%16==15&&ne(n,3)}function pL(){let e,t,r,n,o=new Bo,l=G(22984);for(t=0;t<22984;t++)l[t]=0;for(e=0,t=0;t<735471;++t)if((l[~~t>>>5]&1<<(t&31))==0){for(vs(o,t),n=0;n<48;++n)r=El(o),l[~~r>>>5]|=1<<(r&31),Dn!==null&&(Dn[r]=e<<6|An[n]),ne(o,0),n%2==1&&ne(o,1),n%8==7&&ne(o,2),n%16==15&&ne(o,3);Ml[e++]=t}}function RL(e){let t=om(Ml,e);return t>=0?t:-1}function dL(){Ku||(Ku=!0,Nl=G(70,28),Tl=G(6435,28),Ju=G(70,16),Zu=G(6435,16),Ke=G(450450),Xu=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0])}function Il(e){let t,r,n;for(r=0,n=8,t=14;t>=0;--t)e.ct[t]!==e.ct[15]&&(r+=ce[t][n--]);return r}function Gl(e){let t,r,n;for(r=0,n=4,t=6;t>=0;--t)e.rl[t]!==e.rl[7]&&(r+=ce[t][n--]);return r*2+e.parity}function yn(e,t){e.parity^=Xu[t];let r=t%3;switch(t=~~(t/3),t){case 0:R(e.ct,0,1,2,3,r);break;case 1:R(e.rl,0,1,2,3,r);break;case 2:R(e.ct,8,9,10,11,r);break;case 3:R(e.ct,4,5,6,7,r);break;case 4:R(e.rl,4,5,6,7,r);break;case 5:R(e.ct,12,13,14,15,r);break;case 6:R(e.ct,0,1,2,3,r),R(e.rl,0,5,4,1,r),R(e.ct,8,9,12,13,r);break;case 7:R(e.rl,0,1,2,3,r),R(e.ct,1,15,5,9,r),R(e.ct,2,12,6,10,r);break;case 8:R(e.ct,8,9,10,11,r),R(e.rl,0,3,6,5,r),R(e.ct,3,2,5,4,r);break;case 9:R(e.ct,4,5,6,7,r),R(e.rl,3,2,7,6,r),R(e.ct,11,10,15,14,r);break;case 10:R(e.rl,4,5,6,7,r),R(e.ct,0,8,4,14,r),R(e.ct,3,11,7,13,r);break;case 11:R(e.ct,12,13,14,15,r),R(e.rl,1,4,7,2,r),R(e.ct,1,0,7,6,r)}}function Un(e,t){switch(t){case 0:yn(e,19),yn(e,28);break;case 1:yn(e,21),yn(e,32);break;case 2:R(e.ct,0,3,1,2,1),R(e.ct,8,11,9,10,1),R(e.ct,4,7,5,6,1),R(e.ct,12,15,13,14,1),R(e.rl,0,3,5,6,1),R(e.rl,1,2,4,7,1)}}function Vu(e,t,r){let n;for(n=0;n<16;++n)e.ct[n]=~~(t.ct[n]/2);for(n=0;n<8;++n)e.rl[n]=t.ct[n+16];e.parity=r}function Hu(e,t){let r,n;for(n=8,e.ct[15]=0,r=14;r>=0;--r)t>=ce[r][n]?(t-=ce[r][n--],e.ct[r]=1):e.ct[r]=0}function Yu(e,t){let r,n;for(e.parity=t&1,t>>>=1,n=4,e.rl[7]=0,r=6;r>=0;--r)t>=ce[r][n]?(t-=ce[r][n--],e.rl[r]=1):e.rl[r]=0}function Es(){this.rl=G(8),this.ct=G(16)}function FL(){let e,t,r,n,o,l,i,s,u,a,f=new Es;for(o=0;o<70;++o)for(s=0;s<28;++s)Yu(f,o),yn(f,Pr[s]),Nl[o][s]=Gl(f);for(o=0;o<70;++o)for(Yu(f,o),i=0;i<16;++i)Ju[o][i]=Gl(f),Un(f,0),i%2==1&&Un(f,1),i%8==7&&Un(f,2);for(o=0;o<6435;++o)for(Hu(f,o),i=0;i<16;++i)Zu[o][i]=Il(f)&65535,Un(f,0),i%2==1&&Un(f,1),i%8==7&&Un(f,2);for(o=0;o<6435;++o)for(s=0;s<28;++s)Hu(f,o),yn(f,Pr[s]),Tl[o][s]=Il(f)&65535;for($l(Ke),Ke[0]=Ke[18]=Ke[28]=Ke[46]=Ke[54]=Ke[56]=0,r=0,n=6;n!==450450;){let g=r>6,c=g?-1:r,L=g?r:-1;for(++r,o=0;o<450450;++o)if(Ke[o]===c){for(e=~~(o/70),u=o%70,s=0;s<23;++s)if(t=Tl[e][s],a=Nl[u][s],l=t*70+a,Ke[l]===L)if(++n,g){Ke[o]=r;break}else Ke[l]=r}}}function DL(){$u||($u=!0,Ro=G(29400,20),tf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],cr=G(29400),Cs=[0,9,14,23,27,28,41,42,46,55,60,69],Ps=G(70))}function ks(e){let t,r,n,o;for(r=0,o=4,t=6;t>=0;--t)e.ud[t]!==e.ud[7]&&(r+=ce[t][o--]);for(r*=35,o=4,t=6;t>=0;--t)e.fb[t]!==e.fb[7]&&(r+=ce[t][o--]);r*=12;let l=e.fb[7]^e.ud[7];for(n=0,o=4,t=7;t>=0;--t)e.rl[t]!==l&&(n+=ce[t][o--]);return e.parity+2*(r+Ps[n])}function AL(e,t){switch(e.parity^=tf[t],t){case 0:case 1:case 2:R(e.ud,0,1,2,3,t%3);break;case 3:R(e.rl,0,1,2,3,1);break;case 4:case 5:case 6:R(e.fb,0,1,2,3,(t-1)%3);break;case 7:case 8:case 9:R(e.ud,4,5,6,7,(t-1)%3);break;case 10:R(e.rl,4,5,6,7,1);break;case 11:case 12:case 13:R(e.fb,4,5,6,7,(t+1)%3);break;case 14:R(e.ud,0,1,2,3,1),R(e.rl,0,5,4,1,1),R(e.fb,0,5,4,1,1);break;case 15:R(e.rl,0,1,2,3,1),R(e.fb,1,4,7,2,1),R(e.ud,1,6,5,2,1);break;case 16:R(e.fb,0,1,2,3,1),R(e.ud,3,2,5,4,1),R(e.rl,0,3,6,5,1);break;case 17:R(e.ud,4,5,6,7,1),R(e.rl,3,2,7,6,1),R(e.fb,3,2,7,6,1);break;case 18:R(e.rl,4,5,6,7,1),R(e.fb,0,3,6,5,1),R(e.ud,0,3,4,7,1);break;case 19:R(e.fb,4,5,6,7,1),R(e.ud,0,7,6,1,1),R(e.rl,1,4,7,2,1)}}function ef(e,t,r){let n,o=(t.ct[0]>t.ct[8]?1:0)^(t.ct[8]>t.ct[16]?1:0)^(t.ct[0]>t.ct[16]?1:0)?1:0;for(n=0;n<8;++n)e.ud[n]=t.ct[n]&1^1,e.fb[n]=t.ct[n+8]&1^1,e.rl[n]=t.ct[n+16]&1^1^o;e.parity=o^r}function hL(e,t){let r,n,o,l;for(e.parity=t&1,t>>>=1,o=Cs[t%12],t=~~(t/12),l=4,r=7;r>=0;--r)e.rl[r]=0,o>=ce[r][l]&&(o-=ce[r][l--],e.rl[r]=1);for(n=t%35,t=~~(t/35),l=4,e.fb[7]=0,r=6;r>=0;--r)n>=ce[r][l]?(n-=ce[r][l--],e.fb[r]=1):e.fb[r]=0;for(l=4,e.ud[7]=0,r=6;r>=0;--r)t>=ce[r][l]?(t-=ce[r][l--],e.ud[r]=1):e.ud[r]=0}function zs(){this.ud=G(8),this.rl=G(8),this.fb=G(8)}function yL(){let e,t,r,n;for(r=0;r<12;++r)Ps[Cs[r]]=r;let o=new zs;for(r=0;r<29400;++r)for(n=0;n<20;++n)hL(o,r),AL(o,n),Ro[r][n]=ks(o)&65535;for($l(cr),cr[0]=0,e=0,t=1;t!==29400;){for(r=0;r<29400;++r)if(cr[r]===e)for(n=0;n<17;++n)cr[Ro[r][n]]===-1&&(cr[Ro[r][n]]=e+1,++t);++e}}function UL(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function bL(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:R(e.ct,0,1,2,3,r);break;case 1:R(e.ct,16,17,18,19,r);break;case 2:R(e.ct,8,9,10,11,r);break;case 3:R(e.ct,4,5,6,7,r);break;case 4:R(e.ct,20,21,22,23,r);break;case 5:R(e.ct,12,13,14,15,r);break;case 6:R(e.ct,0,1,2,3,r),R(e.ct,8,20,12,16,r),R(e.ct,9,21,13,17,r);break;case 7:R(e.ct,16,17,18,19,r),R(e.ct,1,15,5,9,r),R(e.ct,2,12,6,10,r);break;case 8:R(e.ct,8,9,10,11,r),R(e.ct,2,19,4,21,r),R(e.ct,3,16,5,22,r);break;case 9:R(e.ct,4,5,6,7,r),R(e.ct,10,18,14,22,r),R(e.ct,11,19,15,23,r);break;case 10:R(e.ct,20,21,22,23,r),R(e.ct,0,8,4,14,r),R(e.ct,3,11,7,13,r);break;case 11:R(e.ct,12,13,14,15,r),R(e.ct,1,20,7,18,r),R(e.ct,0,23,6,17,r)}}function Ms(){let e;for(this.ct=G(24),e=0;e<24;++e)this.ct[e]=~~(e/4)}function rf(e){let t,r,n;for(Ms.call(this),t=0;t<23;++t)n=t+e(24-t),this.ct[n]!==this.ct[t]&&(r=this.ct[t],this.ct[t]=this.ct[n],this.ct[n]=r)}function xL(){nf||(nf=!0,ct=G(18),wL())}function of(e){e.cp=[0,1,2,3,4,5,6,7],e.co=[0,0,0,0,0,0,0,0]}function lf(e,t){let r;for(r=0;r<8;++r)e.cp[r]=t.cp[r],e.co[r]=t.co[r]}function SL(e,t){!e.temps&&(e.temps=new _l),sf(e,ct[t],e.temps),lf(e,e.temps)}function vL(e,t){let r,n;for(n=0,r=6;r>=0;--r)n+=e.co[r]=t%3,t=~~(t/3);e.co[7]=(15-n)%3}function sf(e,t,r){let n,o,l,i;for(n=0;n<8;++n)r.cp[n]=e.cp[t.cp[n]],l=e.co[t.cp[n]],i=t.co[n],o=l,o=o+(l<3?i:6-i),o=o%3,(l>=3?1:0)^(i>=3?1:0)&&(o=o+3),r.co[n]=o}function _l(){of(this)}function Lr(e,t){of(this),Cu(this.cp,e),vL(this,t)}function af(e){Lr.call(this,e(40320),e(2187))}function wL(){let e,t;for(ct[0]=new Lr(15120,0),ct[3]=new Lr(21021,1494),ct[6]=new Lr(8064,1236),ct[9]=new Lr(9,0),ct[12]=new Lr(1230,412),ct[15]=new Lr(224,137),e=0;e<18;e+=3)for(t=0;t<2;++t)ct[e+t+1]=new _l,sf(ct[e+t],ct[e],ct[e+t+1])}function EL(){uf||(uf=!0,xt=G(1937880),ql=G(1538),jl=G(1538),wn=G(11880),Bf=[0,1,6,3,4,5,2,7],Ns=G(160,12),_s=G(160,12),Ts=[1,1,1,3,12,60,360,2520,20160,181440,1814400,19958400,239500800],Gs=[0,2,4,6,1,3,7,5,8,9,10,11])}function bn(e,t,r,n,o){let l=e.edgeo[o];e.edgeo[o]=e.edge[n],e.edge[n]=e.edgeo[r],e.edgeo[r]=e.edge[t],e.edge[t]=l}function xn(e,t){let r,n,o,l,i;for(e.isStd||Lf(e),n=0,i=1985229328,l=47768,r=0;r<t;++r)o=e.edge[r]<<2,n*=12-r,o>=32?(n+=l>>o-32&15,l-=4368<<o-32):(n+=i>>o&15,l-=4369,i-=286331152<<o);return n}function ff(e){let t,r=xn(e,4);t=wn[r];let n=t&7;t>>=3,Wl(e,n);let o=xn(e,10)%20160;return t*20160+o}function Ol(e,t){switch(e.isStd=!1,t){case 0:se(e.edge,0,4,1,5),se(e.edgeo,0,4,1,5);break;case 1:Be(e.edge,0,4,1,5),Be(e.edgeo,0,4,1,5);break;case 2:se(e.edge,0,5,1,4),se(e.edgeo,0,5,1,4);break;case 3:Be(e.edge,5,10,6,11),Be(e.edgeo,5,10,6,11);break;case 4:se(e.edge,0,11,3,8),se(e.edgeo,0,11,3,8);break;case 5:Be(e.edge,0,11,3,8),Be(e.edgeo,0,11,3,8);break;case 6:se(e.edge,0,8,3,11),se(e.edgeo,0,8,3,11);break;case 7:se(e.edge,2,7,3,6),se(e.edgeo,2,7,3,6);break;case 8:Be(e.edge,2,7,3,6),Be(e.edgeo,2,7,3,6);break;case 9:se(e.edge,2,6,3,7),se(e.edgeo,2,6,3,7);break;case 10:Be(e.edge,4,8,7,9),Be(e.edgeo,4,8,7,9);break;case 11:se(e.edge,1,9,2,10),se(e.edgeo,1,9,2,10);break;case 12:Be(e.edge,1,9,2,10),Be(e.edgeo,1,9,2,10);break;case 13:se(e.edge,1,10,2,9),se(e.edgeo,1,10,2,9);break;case 14:Be(e.edge,0,4,1,5),Be(e.edgeo,0,4,1,5),se(e.edge,9,11),se(e.edgeo,8,10);break;case 15:Be(e.edge,5,10,6,11),Be(e.edgeo,5,10,6,11),se(e.edge,1,3),se(e.edgeo,0,2);break;case 16:Be(e.edge,0,11,3,8),Be(e.edgeo,0,11,3,8),se(e.edge,5,7),se(e.edgeo,4,6);break;case 17:Be(e.edge,2,7,3,6),Be(e.edgeo,2,7,3,6),se(e.edge,8,10),se(e.edgeo,9,11);break;case 18:Be(e.edge,4,8,7,9),Be(e.edgeo,4,8,7,9),se(e.edge,0,2),se(e.edgeo,1,3);break;case 19:Be(e.edge,1,9,2,10),Be(e.edgeo,1,9,2,10),se(e.edge,4,6),se(e.edgeo,5,7)}}function Sn(e,t){switch(e.isStd=!1,t){case 0:Ol(e,14),Ol(e,17);break;case 1:bn(e,11,5,10,6),bn(e,5,10,6,11),bn(e,1,2,3,0),bn(e,4,9,7,8),bn(e,8,4,9,7),bn(e,0,1,2,3);break;case 2:Lt(e,4,5),Lt(e,5,4),Lt(e,11,8),Lt(e,8,11),Lt(e,7,6),Lt(e,6,7),Lt(e,9,10),Lt(e,10,9),Lt(e,1,1),Lt(e,0,0),Lt(e,3,3),Lt(e,2,2)}}function Wl(e,t){for(;t>=2;)t-=2,Sn(e,1),Sn(e,2);t!==0&&Sn(e,0)}function Fo(e,t){let r,n,o,l,i,s;for(i=1985229328,s=47768,o=0,r=0;r<11;++r)if(n=Ts[11-r],l=~~(t/n),t=t%n,o^=l,l<<=2,l>=32){l=l-32,e.edge[r]=s>>l&15;let u=(1<<l)-1;s=(s&u)+(s>>4&~u)}else{e.edge[r]=i>>l&15;let u=(1<<l)-1;i=(i&u)+(i>>>4&~u)+(s<<28),s=s>>4}for((o&1)==0?e.edge[11]=i:(e.edge[11]=e.edge[10],e.edge[10]=i),r=0;r<12;++r)e.edgeo[r]=r;e.isStd=!0}function gf(e,t){let r;for(r=0;r<12;++r)e.edge[r]=t.edge[r],e.edgeo[r]=t.edgeo[r];e.isStd=t.isStd}function cf(e,t){let r,n,o,l;for(e.temp===null&&(e.temp=G(12)),r=0;r<12;++r)e.temp[r]=r,e.edge[r]=t.ep[Gs[r]+12]%12;for(n=1,r=0;r<12;++r)for(;e.edge[r]!==r;)l=e.edge[r],e.edge[r]=e.edge[l],e.edge[l]=l,o=e.temp[r],e.temp[r]=e.temp[l],e.temp[l]=o,n^=1;for(r=0;r<12;++r)e.edge[r]=e.temp[t.ep[Gs[r]]%12];return n}function Lf(e){let t;for(e.temp===null&&(e.temp=G(12)),t=0;t<12;++t)e.temp[e.edgeo[t]]=t;for(t=0;t<12;++t)e.edge[t]=e.temp[e.edge[t]],e.edgeo[t]=t;e.isStd=!0}function Be(e,t,r,n,o){let l;l=e[t],e[t]=e[n],e[n]=l,l=e[r],e[r]=e[o],e[o]=l}function Lt(e,t,r){let n=e.edge[t];e.edge[t]=e.edgeo[r],e.edgeo[r]=n}function Ht(){this.edge=G(12),this.edgeo=G(12)}function kL(){let e,t,r,n,o,l,i,s,u,a,f,g,c,L,p,m,D,A,b,h,C,E,j=new Ht,ee=new Ht,T=new Ht;for($l(xt),s=0,Ql=1,Is(xt,0,0);Ql!==31006080&&(p=s>9,i=s%3,l=(s+1)%3,a=p?3:i,e=p?i:3,!(s>=9));){for(g=0;g<31006080;g+=16)if(E=xt[~~g>>4],!(!p&&E===-1)){for(f=g,u=g+16;f<u;++f,E>>=2)if((E&3)===a){for(b=~~(f/20160),t=ql[b],n=f%20160,Fo(j,t*20160+n),D=0;D<17;++D)if(r=vn(j.edge,D<<3,4),h=wn[r],C=h&7,h>>=3,o=vn(j.edge,D<<3|C,10)%20160,c=h*20160+o,Do(xt,c)===e){if(Is(xt,p?f:c,l),++Ql,p)break;if(A=jl[h],A!==1)for(gf(ee,j),Ol(ee,D),Wl(ee,C),m=1;(A=~~A>>1&65535)!=0;++m)(A&1)==1&&(gf(T,ee),Wl(T,m),L=h*20160+xn(T,10)%20160,Do(xt,L)===e&&(Is(xt,L,l),++Ql))}}}++s}}function Do(e,t){return e[t>>4]>>((t&15)<<1)&3}function vn(e,t,r){let n,o,l,i,s,u=_s[t],a=Ns[t];for(o=0,s=1985229328,i=47768,n=0;n<r;++n)l=u[e[a[n]]]<<2,o*=12-n,l>=32?(o+=i>>l-32&15,i-=4368<<l-32):(o+=s>>l&15,i-=4369,s-=286331152<<l);return o}function mf(e){let t,r,n,o,l,i,s,u,a,f,g,c=new Ht;if(i=0,l=Do(xt,e),l===3)return 10;for(;e!==0;)for(l===0?l=2:--l,a=~~(e/20160),t=ql[a],n=e%20160,Fo(c,t*20160+n),u=0;u<17;++u)if(r=vn(c.edge,u<<3,4),f=wn[r],g=f&7,f>>=3,o=vn(c.edge,u<<3|g,10)%20160,s=f*20160+o,Do(xt,s)===l){++i,e=s;break}return i}function zL(e,t){let r=Do(xt,e);return r===3?10:(1227133513<<r>>t&3)+t-1}function CL(){let e,t,r,n=new Ht;for(t=0;t<20;++t)for(r=0;r<8;++r){for(Fo(n,0),Ol(n,t),Wl(n,r),e=0;e<12;++e)Ns[t<<3|r][e]=n.edge[e];for(Lf(n),e=0;e<12;++e)_s[t<<3|r][e]=n.temp[e]}}function PL(){let e,t,r,n,o=new Ht,l=G(1485);for(t=0;t<1485;t++)l[t]=0;for(e=0,t=0;t<11880;++t)if((l[~~t>>>3]&1<<(t&7))==0){for(Fo(o,t*Ts[8]),n=0;n<8;++n)r=xn(o,4),r===t&&(jl[e]=(jl[e]|1<<n)&65535),l[~~r>>3]=l[~~r>>3]|1<<(r&7),wn[r]=e<<3|Bf[n],Sn(o,0),n%2==1&&(Sn(o,1),Sn(o,2));ql[e++]=t}}function Is(e,t,r){e[t>>4]^=(3^r)<<((t&15)<<1)}function ML(){pf||(pf=!0)}function IL(e){let t,r,n;for(t=0,n=!1,r=0;r<12;++r)t|=1<<e.ep[r],n=n!==e.ep[r]>=12;return t&=~~t>>12,t===0&&!n}function GL(e,t){let r;for(r=0;r<24;++r)e.ep[r]=t.ep[r]}function TL(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:R(e.ep,0,1,2,3,r),R(e.ep,12,13,14,15,r);break;case 1:R(e.ep,11,15,10,19,r),R(e.ep,23,3,22,7,r);break;case 2:R(e.ep,0,11,6,8,r),R(e.ep,12,23,18,20,r);break;case 3:R(e.ep,4,5,6,7,r),R(e.ep,16,17,18,19,r);break;case 4:R(e.ep,1,20,5,21,r),R(e.ep,13,8,17,9,r);break;case 5:R(e.ep,2,9,4,10,r),R(e.ep,14,21,16,22,r);break;case 6:R(e.ep,0,1,2,3,r),R(e.ep,12,13,14,15,r),R(e.ep,9,22,11,20,r);break;case 7:R(e.ep,11,15,10,19,r),R(e.ep,23,3,22,7,r),R(e.ep,2,16,6,12,r);break;case 8:R(e.ep,0,11,6,8,r),R(e.ep,12,23,18,20,r),R(e.ep,3,19,5,13,r);break;case 9:R(e.ep,4,5,6,7,r),R(e.ep,16,17,18,19,r),R(e.ep,8,23,10,21,r);break;case 10:R(e.ep,1,20,5,21,r),R(e.ep,13,8,17,9,r),R(e.ep,14,0,18,4,r);break;case 11:R(e.ep,2,9,4,10,r),R(e.ep,14,21,16,22,r),R(e.ep,7,15,1,17,r)}}function Os(){let e;for(this.ep=G(24),e=0;e<24;++e)this.ep[e]=e}function Rf(e){let t,r,n;for(Os.call(this),t=0;t<23;++t)n=t+e(24-t),n!==t&&(r=this.ep[t],this.ep[t]=this.ep[n],this.ep[n]=r)}function NL(){df||(df=!0,Ws=[35,1,34,2,4,6,22,5,19])}function Ff(e){e.moveBuffer=G(60)}function _L(e,t){return e.value-t.value}function En(e,t){let r;for(GL(e.edge,t.edge),UL(e.center,t.center),lf(e.corner,t.corner),e.value=t.value,e.add1=t.add1,e.length1=t.length1,e.length2=t.length2,e.length3=t.length3,e.sym=t.sym,r=0;r<60;++r)e.moveBuffer[r]=t.moveBuffer[r];e.moveLength=t.moveLength,e.edgeAvail=t.edgeAvail,e.centerAvail=t.centerAvail,e.cornerAvail=t.cornerAvail}function mr(e){for(;e.centerAvail<e.moveLength;)bL(e.center,e.moveBuffer[e.centerAvail++]);return e.center}function Df(e){for(;e.cornerAvail<e.moveLength;)SL(e.corner,e.moveBuffer[e.cornerAvail++]%18);return e.corner}function Ao(e){for(;e.edgeAvail<e.moveLength;)TL(e.edge,e.moveBuffer[e.edgeAvail++]);return e.edge}function OL(e){let t,r,n,o,l,i,s=new Array(e.moveLength-(e.add1?2:0));for(r=0,t=0;t<e.length1;++t)s[r++]=e.moveBuffer[t];for(i=e.sym,t=e.length1+(e.add1?2:0);t<e.moveLength;++t)bt[i][e.moveBuffer[t]]>=27?(s[r++]=bt[i][e.moveBuffer[t]]-9,o=Ws[bt[i][e.moveBuffer[t]]-27],i=hn[i][o]):s[r++]=bt[i][e.moveBuffer[t]];let u=hn[An[i]][mL(mr(e))];for(l=\"\",i=u,t=r-1;t>=0;--t)n=s[t],n=~~(n/3)*3+(2-n%3),bt[i][n]>=27?(l=l+Qs[bt[i][n]-9]+\" \",o=Ws[bt[i][n]-27],i=hn[i][o]):l=l+Qs[bt[i][n]]+\" \";return l}function Cr(e,t){e.moveBuffer[e.moveLength++]=t}function Kl(){Ff(this),this.edge=new Os,this.center=new Ms,this.corner=new _l}function Vl(e){Kl.call(this),En(this,e)}function Af(e){Ff(this),this.edge=new Rf(e),this.center=new rf(e),this.corner=new af(e)}function WL(e,t){return t.value-e.value}function Hl(e,t){return WL(e,t)}function hf(){}function QL(){if(yf)return;yf=!0;let e,t;for(Qs=[\"U \",\"U2 \",\"U' \",\"R \",\"R2 \",\"R' \",\"F \",\"F2 \",\"F' \",\"D \",\"D2 \",\"D' \",\"L \",\"L2 \",\"L' \",\"B \",\"B2 \",\"B' \",\"Uw \",\"Uw2\",\"Uw'\",\"Rw \",\"Rw2\",\"Rw'\",\"Fw \",\"Fw2\",\"Fw'\",\"Dw \",\"Dw2\",\"Dw'\",\"Lw \",\"Lw2\",\"Lw'\",\"Bw \",\"Bw2\",\"Bw'\"],Pr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,21,22,23,25,28,30,31,32,34,36],ho=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],Uf=G(37),bf=G(37),kn=G(37,36),Yl=G(29,28),Zl=G(21,20),qs=G(36),yo=G(28),zn=G(20),e=0;e<29;++e)Uf[Pr[e]]=e;for(e=0;e<21;++e)bf[ho[e]]=e;for(e=0;e<36;++e){for(t=0;t<36;++t)kn[e][t]=~~(e/3)==~~(t/3)||~~(e/3)%3==~~(t/3)%3&&e>t;kn[36][e]=!1}for(e=0;e<29;++e)for(t=0;t<28;++t)Yl[e][t]=kn[Pr[e]][Pr[t]];for(e=0;e<21;++e)for(t=0;t<20;++t)Zl[e][t]=kn[ho[e]][ho[t]];for(e=0;e<36;++e)for(qs[e]=36,t=e;t<36;++t)if(!kn[e][t]){qs[e]=t-1;break}for(e=0;e<28;++e)for(yo[e]=28,t=e;t<28;++t)if(!Yl[e][t]){yo[e]=t-1;break}for(e=0;e<20;++e)for(zn[e]=20,t=e;t<20;++t)if(!Zl[e][t]){zn[e]=t-1;break}}function qL(e){let t,r,n,o,l,i,s,u,a,f,g,c;e.solution=\"\";let L=kl(new Cl(mr(e.c),0)),p=kl(new Cl(mr(e.c),1)),m=kl(new Cl(mr(e.c),2)),D=Ut[~~L>>6],A=Ut[~~p>>6],b=Ut[~~m>>6];for(e.p1SolsCnt=0,e.arr2idx=0,$L(e.p1sols.heap),e.length1=(D<A?D:A)<b?D<A?D:A:b;e.length1<100&&!(b<=e.length1&&Xl(e,~~m>>>6,m&63,e.length1,-1,0)||D<=e.length1&&Xl(e,~~L>>>6,L&63,e.length1,-1,0)||A<=e.length1&&Xl(e,~~p>>>6,p&63,e.length1,-1,0));++e.length1);let h=fm(e.p1sols,Us(cm,gr([rL,hs,ys]),Gu,0,0));h.sort(function(j,ee){return j.value-ee.value}),t=9;do{e:for(u=h[0].value;u<100;++u)for(i=0;i<h.length&&!(h[i].value>u);++i)if(!(u-h[i].length1>t)&&(En(e.c1,h[i]),Vu(e.ct2,mr(e.c1),Jl(Ao(e.c1).ep)),g=Il(e.ct2),c=Gl(e.ct2),e.length1=h[i].length1,e.length2=u-h[i].length1,xf(e,g,c,e.length2,28,0)))break e;++t}while(u===100);e.arr2.sort(function(j,ee){return j.value-ee.value}),s=0,r=13;do{e:for(a=e.arr2[0].value;a<100;++a)for(i=0;i<Math.min(e.arr2idx,100)&&!(e.arr2[i].value>a);++i)if(!(a-e.arr2[i].length1-e.arr2[i].length2>r)&&(l=cf(e.e12,Ao(e.arr2[i])),ef(e.ct3,mr(e.arr2[i]),l^Jl(Df(e.arr2[i]).cp)),n=ks(e.ct3),o=xn(e.e12,10),f=mf(ff(e.e12)),f<=a-e.arr2[i].length1-e.arr2[i].length2&&Sf(e,o,n,f,a-e.arr2[i].length1-e.arr2[i].length2,20,0))){s=i;break e}++r}while(a===100);let C=new Vl(e.arr2[s]);e.length1=C.length1,e.length2=C.length2;let E=a-e.length1-e.length2;for(i=0;i<E;++i)Cr(C,ho[e.move3[i]]);e.solution=OL(C)}function jL(e,t){let r,n;for(En(e.c1,e.c),r=0;r<e.length1;++r)Cr(e.c1,e.move1[r]);switch(ws[t]){case 0:Cr(e.c1,24),Cr(e.c1,35),e.move1[e.length1]=24,e.move1[e.length1+1]=35,e.add1=!0,t=19;break;case 12869:Cr(e.c1,18),Cr(e.c1,29),e.move1[e.length1]=18,e.move1[e.length1+1]=29,e.add1=!0,t=34;break;case 735470:e.add1=!1,t=0}Vu(e.ct2,mr(e.c1),Jl(Ao(e.c1).ep));let o=Il(e.ct2),l=Gl(e.ct2),i=Ke[o*70+l];return e.c1.value=i+e.length1,e.c1.length1=e.length1,e.c1.add1=e.add1,e.c1.sym=t,++e.p1SolsCnt,e.p1sols.heap.size<500?n=new Vl(e.c1):(n=am(e.p1sols),n.value>e.c1.value&&En(n,e.c1)),ZL(e.p1sols,n),e.p1SolsCnt===1e4}function KL(e){let t;for(En(e.c2,e.c1),t=0;t<e.length2;++t)Cr(e.c2,e.move2[t]);if(!IL(Ao(e.c2)))return!1;let r=cf(e.e12,Ao(e.c2));ef(e.ct3,mr(e.c2),r^Jl(Df(e.c2).cp));let n=ks(e.ct3);xn(e.e12,10);let o=mf(ff(e.e12));return e.arr2[e.arr2idx]?En(e.arr2[e.arr2idx],e.c2):e.arr2[e.arr2idx]=new Vl(e.c2),e.arr2[e.arr2idx].value=e.length1+e.length2+Math.max(o,cr[n]),e.arr2[e.arr2idx].length2=e.length2,++e.arr2idx,e.arr2idx===e.arr2.length}function VL(e,t){return wf(),e.c=new Af(t),qL(e),e.solution}function Xl(e,t,r,n,o,l){let i,s,u,a,f,g;if(t===0)return n===0&&jL(e,r);for(i=0;i<27;i+=3)if(!(i===o||i===o-9||i===o-18))for(a=0;a<3;++a){if(u=i+a,s=Pl[t][bt[r][u]],f=Ut[~~s>>>6],f>=n){if(f>n)break;continue}if(g=hn[r][s&63],s>>>=6,e.move1[l]=u,Xl(e,s,g,n-1,i,l+1))return!0}return!1}function xf(e,t,r,n,o,l){let i,s,u,a;if(t===0&&Ke[r]===0)return n===0&&KL(e);for(s=0;s<23;++s){if(Yl[o][s]){s=yo[s];continue}if(i=Tl[t][s],a=Nl[r][s],u=Ke[i*70+a],u>=n){u>n&&(s=yo[s]);continue}if(e.move2[l]=Pr[s],xf(e,i,a,n-1,s,l+1))return!0}return!1}function Sf(e,t,r,n,o,l,i){let s,u,a,f,g,c,L,p,m;if(o===0)return t===0&&r===0;for(Fo(e.tempe[i],t),g=0;g<17;++g){if(Zl[l][g]){g=zn[g];continue}if(a=Ro[r][g],c=cr[a],c>=o){c>o&&g<14&&(g=zn[g]);continue}if(f=vn(e.tempe[i].edge,g<<3,10),s=~~(f/20160),p=wn[s],m=p&7,p>>=3,u=vn(e.tempe[i].edge,g<<3|m,10)%20160,L=zL(p*20160+u,n),L>=o){L>o&&g<14&&(g=zn[g]);continue}if(Sf(e,f,a,L,o-1,g,i+1))return e.move3[i]=g,!0}return!1}function vf(){let e;for(this.p1sols=new Gf(new hf),this.move1=G(15),this.move2=G(20),this.move3=G(20),this.c1=new Kl,this.c2=new Kl,this.ct2=new Es,this.ct3=new zs,this.e12=new Ht,this.tempe=G(20),this.arr2=G(100),e=0;e<20;++e)this.tempe[e]=new Ht}function wf(){Ef||(BL(),Dn=G(735471),pL(),cL(),Dn=null,LL(),FL(),yL(),CL(),PL(),kL(),Ef=!0)}function HL(){kf||(kf=!0)}function Jl(e){let t,r,n,o;for(o=0,t=0,n=e.length;t<n;++t)for(r=t;r<n;++r)e[t]>e[r]&&(o^=1);return o}function R(e,t,r,n,o,l){let i;switch(l){case 0:i=e[o],e[o]=e[n],e[n]=e[r],e[r]=e[t],e[t]=i;return;case 1:i=e[t],e[t]=e[n],e[n]=i,i=e[r],e[r]=e[o],e[o]=i;return;case 2:i=e[t],e[t]=e[r],e[r]=e[n],e[n]=e[o],e[o]=i;return}}function zf(){}function Cf(e,t,r,n){let o=new zf;return o.typeName=e+t,Mf(r!==0?-r:0)&&If(r!==0?-r:0,o),o.modifiers=4,o.superclass=js,o.componentType=n,o}function Pf(e,t,r,n){let o=new zf;return o.typeName=e+t,Mf(r)&&If(r,o),o.superclass=n,o}function YL(e){let t=mo[e.seedId];return e=null,t}function Mf(e){return typeof e==\"number\"&&e>0}function If(e,t){let r;if(t.seedId=e,e===2)r=String.prototype;else if(e>0){let n=YL(t);if(n)r=n.prototype;else{n=mo[e]=function(){},n.___clazz$=t;return}}else return;r.___clazz$=t}function ZL(e,t){if(sm(e,t))return!0}function XL(e){e.array=Us(Tf,gr([hs,ys]),Mu,0,0)}function JL(e,t){return wl(e.array,e.size++,t),!0}function $L(e){e.array=Us(Tf,gr([hs,ys]),Mu,0,0),e.size=0}function Br(e,t){return e.array[t]}function em(e,t){let r=e.array[t];return nm(e.array,t,1),--e.size,r}function Cn(e,t,r){let n=e.array[t];return wl(e.array,t,r),n}function tm(e,t){let r;for(t.length<e.size&&(t=iL(t,e.size)),r=0;r<e.size;++r)wl(t,r,e.array[r]);return t.length>e.size&&wl(t,e.size,null),t}function rm(){XL(this),this.array.length=500}function nm(e,t,r){e.splice(t,r)}function om(e,t){let r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}function $l(e){lm(e,e.length)}function lm(e,t){let r;for(r=0;r<t;++r)e[r]=-1}function im(e,t){let r,n,o,l,i=e.heap.size,s=Br(e.heap,t);for(;t*2+1<i&&(r=(n=2*t+1,o=n+1,l=n,o<i&&Hl(Br(e.heap,o),Br(e.heap,n))<0&&(l=o),l),!(Hl(s,Br(e.heap,r))<0));)Cn(e.heap,t,Br(e.heap,r)),t=r;Cn(e.heap,t,s)}function sm(e,t){let r,n;for(n=e.heap.size,JL(e.heap,t);n>0;){if(r=n,n=~~((n-1)/2),Hl(Br(e.heap,n),t)<=0)return Cn(e.heap,r,t),!0;Cn(e.heap,r,Br(e.heap,n))}return Cn(e.heap,n,t),!0}function am(e){if(e.heap.size===0)return null;let t=Br(e.heap,0);return um(e),t}function um(e){let t=em(e.heap,e.heap.size-1);0<e.heap.size&&(Cn(e.heap,0,t),im(e,0))}function fm(e,t){return tm(e.heap,t)}function Gf(e){this.heap=new rm,this.cmp=e}function Of(){_f||(_f=!0,QL(),HL(),gL(),dL(),DL(),EL(),xL(),ML(),NL(),Nf=new vf)}function Lm(){Of(),wf()}async function mm(){Je(),Of();let e=k.fromString(VL(Nf,await it()));return(await Fn()).concat(e)}var V,mo,$c,Mu,hs,Iu,eL,tL,Gu,rL,nL,oL,ys,Ou,bs,xs,Qu,Ut,Pl,ws,Dn,Ml,An,bt,hn,Ku,Tl,Ke,Zu,Xu,Nl,Ju,$u,Ro,tf,cr,Cs,Ps,nf,ct,uf,Gs,Ql,xt,Ts,Ns,_s,wn,ql,Bf,jl,pf,df,Ws,yf,kn,Yl,Zl,Pr,Qs,ho,qs,yo,zn,Uf,bf,Ef,kf,js,Tf,gm,cm,Nf,_f,Qf=y(()=>{pe();Ds();Pu();tr();Ot();mo={},$c={},Mu=0,hs=30,Iu=21,eL=22,tL=23,Gu=24,rL=25,nL=34,oL=26,ys=40;st(1,-1,$c);V.value=null;st(73,1,{},Tu);V.queryId$=0;Ou=!1;Qu=!1;st(153,1,gr([Iu]),Bo,Cl,po);Dn=null,Ku=!1;st(154,1,{},Es);V.parity=0;$u=!1;st(155,1,{},zs);V.parity=0;st(156,1,{},Ms,rf);nf=!1;st(157,1,gr([eL]),_l,Lr,af);V.temps=null;uf=!1;st(158,1,gr([tL]),Ht);V.isStd=!0;V.temp=null;Ql=0,pf=!1;st(159,1,{},Os,Rf);df=!1;st(160,1,gr([Gu,nL]),Kl,Vl,Af);V.compareTo$=function(t){return _L(this,t)};V.add1=!1;V.center=null;V.centerAvail=0;V.corner=null;V.cornerAvail=0;V.edge=null;V.edgeAvail=0;V.length1=0;V.length2=0;V.length3=0;V.moveLength=0;V.sym=0;V.value=0;st(161,1,{},hf);V.compare=function(t,r){return Hl(t,r)};yf=!1;st(163,1,gr([oL]),vf);V.add1=!1;V.arr2idx=0;V.c=null;V.length1=0;V.length2=0;V.p1SolsCnt=0;V.solution=\"\";Ef=!1,kf=!1;V.val$outerIter=null;V.size=0;st(239,1,{},Gf);V.cmp=null;V.heap=null;js=Pf(\"java.lang.\",\"Object\",1,null),Tf=Cf(\"[Ljava.lang.\",\"Object;\",356,js),gm=Pf(\"cs.threephase.\",\"FullCube\",160,js),cm=Cf(\"[Lcs.threephase.\",\"FullCube;\",381,gm),_f=!1});var Hf={};he(Hf,{cachedMegaminxDefWithoutMO:()=>ei,cachedSGSDataMegaminx:()=>Dm,sgsDataMegaminx:()=>Vf});async function Rm(){return er(\"megaminx\",{allMoves:!0,addRotations:!0}).writekpuzzle(!0)}async function ei(){return dm??(dm=Rm())}async function Dm(){return Fm??(Fm=Vf())}async function Vf(){return zt(await ei(),`SubgroupSizes 12 5 60 58 60 56 54 57 52 50 54 48 46 51 44 42 48 40 45 38 36 42 34 32 39 30 36 28 26 33 24 30 22 20 27 18 24 16 14 21 12 18 10 15 8 6 2 12 9 3\n\nAlg Rv\nAlg Rv2\nAlg Rv2'\nAlg Rv'\nAlg Lv'\nAlg Lv2\nAlg Lv2'\nAlg Fv\nAlg Fv'\nAlg BRv2\nAlg Lv2 Rv'\n\nAlg Uv\nAlg Uv2\nAlg Uv2'\nAlg Uv'\n\nAlg D\nAlg D2\nAlg D2'\nAlg D'\nAlg B\nAlg B2\nAlg B2'\nAlg B'\nAlg D DL\nAlg D DL2\nAlg D DL2'\nAlg D DL'\nAlg D2 FL\nAlg D2 FL2\nAlg D2 FL2'\nAlg D2 FL'\nAlg D2' FR\nAlg D2' FR2\nAlg D2' FR2'\nAlg D2' FR'\nAlg D' DR\nAlg D' DR2\nAlg D' DR2'\nAlg D' DR'\nAlg B DR\nAlg B DR2'\nAlg B DR'\nAlg B2 BR2\nAlg B2 BR2'\nAlg B2 BR'\nAlg B2' BL\nAlg B2' BL2\nAlg B2' BL2'\nAlg B' DL\nAlg B' DL2\nAlg B' DL'\nAlg D DL B\nAlg D DL B2'\nAlg D DL B'\nAlg D DL2' L\nAlg D DL2' L2\nAlg D DL2' L2'\nAlg D DL' FL\nAlg D DL' FL2\nAlg D DL' FL'\nAlg D2 FL2' F\nAlg D2 FL2' F2\nAlg D2 FL2' F2'\nAlg D2 FL' FR\nAlg D2 FL' FR2\nAlg D2 FL' FR'\nAlg D2' FR2' R\nAlg D2' FR2' R2\nAlg D2' FR2' R2'\nAlg B DR2' R2'\nAlg B DR' BR2\nAlg B2 BR' BL\nAlg B2' BL2' L\nAlg D DL2' L2' F\nAlg DL\nAlg DL2\nAlg DL2'\nAlg DL'\nAlg DL BL\nAlg DL BL2\nAlg DL BL2'\nAlg DL BL'\nAlg DL2 L\nAlg DL2 L2\nAlg DL2 L2'\nAlg DL2 L'\nAlg DL2' FL\nAlg DL2' FL2\nAlg DL2' FL2'\nAlg DL2' FL'\nAlg D B D'\nAlg D B2 D'\nAlg D B2' D'\nAlg D B' D'\nAlg D2 B D2'\nAlg D2 DL' D2'\nAlg D2' DL' D2\nAlg D' B D\nAlg D' DL' D\nAlg B2 DR2 B2'\nAlg B2 DR2' B2'\nAlg B2 DR' B2'\nAlg B2' BR B2\nAlg B2' BR2 B2\nAlg B2' BR2' B2\nAlg B' BL B\nAlg B' BL2 B\nAlg B' BL' B\nAlg DL BL2' U\nAlg DL BL2' U2\nAlg DL BL2' U2'\nAlg DL BL' L\nAlg DL BL' L2\nAlg DL BL' L'\nAlg DL2 L2' F\nAlg DL2 L2' F2\nAlg DL2 L2' F2'\nAlg DL2 L' FL\nAlg DL2 L' FL2\nAlg DL2 L' FL'\nAlg DL2' FL2' FR\nAlg DL2' FL2' FR2\nAlg DL2' FL2' FR2'\nAlg D B D' DR2\nAlg D B D' DR'\nAlg D2 B D2' FR2'\nAlg D' B D DL\nAlg B2 DR' B2' BR\nAlg B2 DR' B2' BR'\nAlg B2' BR2' B2 U\nAlg DL BL2' U2' F\nAlg D FL D'\nAlg D FL2 D'\nAlg D FL2' D'\nAlg D FL' D'\nAlg D2 FR D2'\nAlg D2 FR2 D2'\nAlg D2 FR2' D2'\nAlg D2' DR D2\nAlg D2' DR2 D2\nAlg D2' DR2' D2\nAlg DL2 BL DL2'\nAlg DL2 BL2 DL2'\nAlg DL2 BL2' DL2'\nAlg DL2 BL' DL2'\nAlg DL2' L2 DL2\nAlg DL2' L2' DL2\nAlg DL' FL2 DL\nAlg DL' FL' DL\nAlg D FL D' FL2'\nAlg D FL L D'\nAlg D FL L2 D'\nAlg D FL L2' D'\nAlg D FL2 F D'\nAlg D FL2 F2 D'\nAlg D FL2 F2' D'\nAlg D FL2 L D'\nAlg D FL2 L2 D'\nAlg D FL2' D' FR\nAlg D FL2' D' FR2\nAlg D FL2' D' FR2'\nAlg D FL2' F D'\nAlg D FL2' F2' D'\nAlg D FL2' FR2' D'\nAlg D FL2' FR' D'\nAlg D FL' D' FL\nAlg D FL' FR D'\nAlg D2 FR D2' FR2'\nAlg D2 FR2 R D2'\nAlg D2 FR2 R2 D2'\nAlg D2 FR2 R2' D2'\nAlg D2 FR2' D2' DR\nAlg D2 FR2' D2' DR2\nAlg D2 FR2' D2' DR2'\nAlg D2 FR2' D2' DR'\nAlg D2 FR2' R2' D2'\nAlg D2 FR' DR2' D2'\nAlg D2' DR D2 DR2'\nAlg D2' DR2 BR D2\nAlg D2' DR2 BR2' D2\nAlg D2' DR2' BR2' D2\nAlg D2' DR2' BR' D2\nAlg DL2 BL2 DL2' BL'\nAlg DL2 BL2 DL2' BR'\nAlg DL2 BL' DL2' L'\nAlg DL2' L2 DL2 BL2\nAlg D FL L2 BL2 D'\nAlg D FL L' FL2' D'\nAlg D FL2 L FL' D'\nAlg D FL2' D' FR2 DR2'\nAlg B DL B'\nAlg B DL2 B'\nAlg B DL2' B'\nAlg B DL' B'\nAlg B2 D B2'\nAlg B2 D2 B2'\nAlg B2 D2' B2'\nAlg B2 D' B2'\nAlg B2 DL B2'\nAlg B2' D' B2\nAlg B2' DL B2\nAlg B' D' B\nAlg B DL B' BL\nAlg B DL B' BL2\nAlg B DL B' BL2'\nAlg B DL B' BL'\nAlg B DL2 B' BL2\nAlg B DL2 B' BL2'\nAlg B DL2 B' BL'\nAlg B DL2' L2 B'\nAlg B DL2' L2' B'\nAlg B DL2' L' B'\nAlg B DL' FL B'\nAlg B DL' FL2 B'\nAlg B DL' FL2' B'\nAlg B DL' FL' B'\nAlg B2 D FL B2'\nAlg B2 D FL2' B2'\nAlg B2 D FL' B2'\nAlg B2 D2 FR2 B2'\nAlg B2 D2 FR2' B2'\nAlg B2 D2 FR' B2'\nAlg B2 D2' B2' DR\nAlg B2 D2' B2' DR2\nAlg B2 D2' B2' DR2'\nAlg B2 DL B2' BR\nAlg B2 DL B2' BR2\nAlg B2 DL B2' BR2'\nAlg B2' D' B2 BR2\nAlg B2' D' B2 BR2'\nAlg B' D' B DR\nAlg B' D' B DR2'\nAlg D FL' D FR D2'\nAlg D DL FL DL' D'\nAlg D2' FR DR FR' D2\nAlg B DL B D B2'\nAlg B DL B D2' B2'\nAlg B DL B' BL2 U2\nAlg B DL B' BL2 U2'\nAlg B DL B' BL2 U'\nAlg B DL2 B' BL2' U2\nAlg B DL2 B' BL2' U2'\nAlg B DL2 B' BL' L2\nAlg B DL2' L2' B' F2\nAlg B2 D FL2' B2' F2'\nAlg DR\nAlg DR2\nAlg DR2'\nAlg DR'\nAlg DR2 FR\nAlg DR2 FR2\nAlg DR2 FR2'\nAlg DR2 FR'\nAlg DR2' R\nAlg DR2' R2\nAlg DR2' R2'\nAlg DR2' R'\nAlg DR' BR\nAlg DR' BR2\nAlg DR' BR2'\nAlg DR' BR'\nAlg D DR D'\nAlg D2 DR D2'\nAlg B BR B'\nAlg B BR2' B'\nAlg B BR' B'\nAlg B2 BL2 B2'\nAlg B2 BL2' B2'\nAlg B2 BL' B2'\nAlg DR2 FR2 FL2\nAlg DR2 FR2 FL2'\nAlg DR2 FR2 FL'\nAlg DR2 FR2' F\nAlg DR2 FR2' F2\nAlg DR2 FR2' F2'\nAlg DR2 FR' R\nAlg DR2 FR' R2\nAlg DR2 FR' R'\nAlg DR2' R FR\nAlg DR2' R FR2'\nAlg DR2' R FR'\nAlg DR2' R2' U\nAlg DR2' R2' U2\nAlg DR2' R2' U2'\nAlg DR2' R' BR2'\nAlg DR' BR2' BL'\nAlg D DR2 FR D'\nAlg B BR B' DR\nAlg B BR B' DR2\nAlg B BR2' B' U2'\nAlg B BR' B' BL2\nAlg B BR' B' BL2'\nAlg B BR' B' BL'\nAlg B2 BL2' L' B2'\nAlg DR2 FR2 FL' F\nAlg DR2 FR2' F FL2'\nAlg DR2 FR2' F FL'\nAlg B BR2' U2' L2' B'\nAlg D2' FL D2\nAlg D2' FL2 D2\nAlg D2' FL2' D2\nAlg D2' FL' D2\nAlg D' FR2 D\nAlg D' FR2' D\nAlg D' FR' D\nAlg DR FR DR'\nAlg DR FR2' DR'\nAlg DR FR' DR'\nAlg DR2 R2 DR2'\nAlg DR2 R2' DR2'\nAlg DR2' BR DR2\nAlg DR2' BR2 DR2\nAlg DR2' BR2' DR2\nAlg D DR2 D' DR2'\nAlg D DR2' D' DR2\nAlg D2' FL D2 FR'\nAlg D2' FL2 D2 FL2'\nAlg D2' FL2 D2 FL'\nAlg D2' FL2 L D2\nAlg D2' FL2 L2 D2\nAlg D2' FL2 L2' D2\nAlg D2' FL2 L' D2\nAlg D2' FL2' F D2\nAlg D2' FL2' F2 D2\nAlg D2' FL2' F2' D2\nAlg D2' FL2' L D2\nAlg D2' FL2' L2 D2\nAlg D2' FL2' L2' D2\nAlg D2' FL2' L' D2\nAlg D2' FL' F D2\nAlg D2' FL' F2' D2\nAlg D' FR FL' D\nAlg D' FR2 D FR'\nAlg D' FR2 D FL2\nAlg D' FR2 D FL2'\nAlg D' FR2 FL D\nAlg D' FR2' R2' D\nAlg D' FR' R2' D\nAlg DR2 R2 DR2' U2'\nAlg DR2 R2' DR2' BR\nAlg DR2 R2' DR2' BR2\nAlg DR2 R2' DR2' BR2'\nAlg DR2 R2' DR2' BR'\nAlg DR2 R' BR2' DR2'\nAlg DR2' BR DR2 BR2'\nAlg DR2' BR2 BL DR2\nAlg DR2' BR2 BL2' DR2\nAlg DR2' BR2' BL' DR2\nAlg D B2' BL2' B2 D'\nAlg D2 B2 DL2 B2' D2'\nAlg D2' FL2 L' FL2 D2\nAlg D2' FL2' L D2 FL'\nAlg D2' FL2' L FL2' D2\nAlg D2' FL2' L2' BL2 D2\nAlg B2' DR B2\nAlg B2' DR2 B2\nAlg B2' DR2' B2\nAlg B2' DR' B2\nAlg B' DR' B\nAlg B2' DR FR B2\nAlg B2' DR FR2 B2\nAlg B2' DR FR2' B2\nAlg B2' DR FR' B2\nAlg B2' DR2 R B2\nAlg B2' DR2 R2 B2\nAlg B2' DR2 R2' B2\nAlg B2' DR2 R' B2\nAlg B2' DR2' B2 BR\nAlg B2' DR2' B2 BR2\nAlg B2' DR2' B2 BR2'\nAlg B2' DR2' B2 BR'\nAlg B2' DR' B2 BL2\nAlg B2' DR' B2 BL2'\nAlg B2' DR' B2 BL'\nAlg B' DR2' BR' B\nAlg B' DR' B BR\nAlg B' DR' B BR2'\nAlg B' DR' B BR'\nAlg D2' FR2' FL FR2 D2\nAlg D2' FR2' FL2 FR2 D2\nAlg D2' FR2' FL2' FR2 D2\nAlg D' DR2' FR DR2 D\nAlg D' DR2' FR2 DR2 D\nAlg D' DR' FR' DR D\nAlg D' FR D' FL' D2\nAlg B2 D2 DL2 D2' B2'\nAlg B2 D2 DL2' D2' B2'\nAlg B2 D2 DL' D2' B2'\nAlg B2 D' FR' D B2'\nAlg B2 DL D2' DL' B2'\nAlg B2 DL D' DL' B2'\nAlg B2' DR FR2' B2 F2\nAlg B2' DR FR2' B2 F2'\nAlg B2' DR FR' R B2\nAlg B2' DR FR' R2 B2\nAlg B2' DR2 R2' B2 U\nAlg B2' DR2 R2' B2 U2\nAlg B2' DR2 R2' B2 U2'\nAlg B2' DR' B2 BL2 U'\nAlg B' DR2' BR' B BL2'\nAlg DR D FR D' DR'\nAlg DL2' B D B' DL2\nAlg D2' FR2' FL2' FR2 F D2\nAlg D' DR2' FR DR2 D FL2'\nAlg B2 D B D' DR B2\nAlg FR\nAlg FR2\nAlg FR2'\nAlg FR'\nAlg FR2 FL\nAlg FR2 FL2\nAlg FR2 FL2'\nAlg FR2 FL'\nAlg FR2' F\nAlg FR2' F2\nAlg FR2' F2'\nAlg FR2' F'\nAlg FR' R\nAlg FR' R2\nAlg FR' R2'\nAlg FR' R'\nAlg D FR D'\nAlg DR R DR'\nAlg DR R2' DR'\nAlg DR R' DR'\nAlg DR2 BR2 DR2'\nAlg DR2 BR2' DR2'\nAlg DR2 BR' DR2'\nAlg FR2 FL2' L\nAlg FR2 FL2' L2\nAlg FR2 FL2' L2'\nAlg FR2 FL' F\nAlg FR2 FL' F2\nAlg FR2 FL' F'\nAlg FR2' F FL\nAlg FR2' F FL2'\nAlg FR2' F FL'\nAlg FR2' F2' U\nAlg FR2' F2' U2\nAlg FR2' F2' U2'\nAlg FR2' F' R2'\nAlg FR' R2' BR'\nAlg DR R DR' FR\nAlg DR R DR' FR2\nAlg DR R2' DR' U2'\nAlg DR R' DR' BR2\nAlg DR R' DR' BR2'\nAlg DR R' DR' BR'\nAlg DR2 BR2' BL2' DR2'\nAlg DR2 BR2' BL' DR2'\nAlg FR2 FL' F L2\nAlg FR2 FL' F L2'\nAlg B' DR2 BR' DR2' B\nAlg DR R2' U2' BL2 DR'\nAlg D' FL D\nAlg D' FL2 D\nAlg D' FL2' D\nAlg D' FL' D\nAlg FR FL FR'\nAlg FR FL2 FR'\nAlg FR FL2' FR'\nAlg FR FL' FR'\nAlg FR2 F2 FR2'\nAlg FR2 F2' FR2'\nAlg FR2' R FR2\nAlg FR2' R2 FR2\nAlg FR2' R2' FR2\nAlg D FR2 D' FR2'\nAlg D FR2' D' FR2\nAlg D' FL D FL'\nAlg D' FL2 D FL'\nAlg D' FL2 L D\nAlg D' FL2 L2 D\nAlg D' FL2 L2' D\nAlg D' FL2 L' D\nAlg D' FL2' F2' D\nAlg D' FL2' L2 D\nAlg D' FL2' L2' D\nAlg D' FL2' L' D\nAlg D' FL' F2' D\nAlg FR FL2' F' FR'\nAlg FR FL2' FR' L\nAlg FR FL2' FR' L2\nAlg FR FL2' FR' L2'\nAlg FR2 F2 FR2' U2\nAlg FR2 F2 FR2' U2'\nAlg FR2 F2' FR2' U2'\nAlg FR2 F2' FR2' R\nAlg FR2 F2' FR2' R2\nAlg FR2 F2' FR2' R2'\nAlg FR2 F2' FR2' R'\nAlg FR2 F' R2' FR2'\nAlg FR2' R FR2 R2'\nAlg FR2' R2 BR FR2\nAlg FR2' R2 BR2 FR2\nAlg FR2' R2 BR2' FR2\nAlg FR2' R2' BR2' FR2\nAlg FR2' R2' BR' FR2\nAlg D DR2' BR2' DR2 D'\nAlg D FR2' D' FR2 FL2\nAlg D2' B DL B' D2\nAlg D2' B2' D' B2 D2'\nAlg D' FL2 L BL D\nAlg D' FL2 L' FL2 D\nAlg D' FL2' F2' R' D\nAlg D' FL2' L FL2' D\nAlg D' FL2' L2' BL2 D\nAlg DR2' FR DR2\nAlg DR2' FR2 DR2\nAlg DR2' FR2' DR2\nAlg DR2' FR' DR2\nAlg DR' FR' DR\nAlg DR2' FR FL DR2\nAlg DR2' FR FL2 DR2\nAlg DR2' FR FL2' DR2\nAlg DR2' FR FL' DR2\nAlg DR2' FR2 DR2 F\nAlg DR2' FR2 DR2 F2\nAlg DR2' FR2 DR2 F2'\nAlg DR2' FR2 DR2 F'\nAlg DR2' FR2' DR2 R\nAlg DR2' FR2' DR2 R2\nAlg DR2' FR2' DR2 R2'\nAlg DR2' FR2' DR2 R'\nAlg DR2' FR' DR2 BR2\nAlg DR2' FR' DR2 BR2'\nAlg DR2' FR' DR2 BR'\nAlg DR' FR2' R' DR\nAlg DR' FR' DR R\nAlg DR' FR' DR R2'\nAlg DR' FR' DR R'\nAlg D' FR2' FL FR2 D\nAlg D' FR2' FL2 FR2 D\nAlg D' FR' FL' FR D\nAlg B2' DR2 FR' DR2' B2\nAlg B' DR2 FR' DR2' B\nAlg DR2 D' FL' D DR2'\nAlg DR2' FR FL2' DR2 L\nAlg DR2' FR FL2' DR2 L2\nAlg DR2' FR FL2' DR2 L2'\nAlg DR2' FR FL' DR2 F\nAlg DR2' FR FL' DR2 F2\nAlg DR2' FR2 F FL2 DR2\nAlg DR2' FR2 DR2 F2' U\nAlg DR2' FR2 DR2 F2' U2\nAlg DR2' FR2 DR2 F2' U2'\nAlg DR2' FR' DR2 BR2 U'\nAlg DR2' FR' DR2 BR2' BL2'\nAlg DR' FR2' R' DR BR2'\nAlg D' FR2' FL2 FR2 L D\nAlg D' FR2' FL2 FR2 L2 D\nAlg B2' DR2' FR2' R' DR2 B2\nAlg DR2 D DR D' FR DR2\nAlg DR2' FR' DR2 BR2 U' BL2\nAlg FL\nAlg FL2\nAlg FL2'\nAlg FL'\nAlg FL L\nAlg FL L2\nAlg FL L2'\nAlg FL L'\nAlg FL2 F\nAlg FL2 F2\nAlg FL2 F2'\nAlg FL2 F'\nAlg FR2' FL2' FR2\nAlg FR' FL2' FR\nAlg FL L2 BL\nAlg FL L2 BL2\nAlg FL L2 BL2'\nAlg FL L2 BL'\nAlg FL L2' U\nAlg FL L2' U2\nAlg FL L2' U2'\nAlg FL L' F\nAlg FL L' F2\nAlg FL L' F'\nAlg FL2 F L\nAlg FL2 F L2\nAlg FL2 F L2'\nAlg FL2 F L'\nAlg FL2 F2' R\nAlg FL2 F2' R2\nAlg FL2 F2' R2'\nAlg FR' FL2 F' FR\nAlg FL L2 BL2' BR\nAlg FL L2 BL2' BR2\nAlg FL L2 BL' U\nAlg FL L2' U BL2\nAlg FL L2' U BL2'\nAlg FL L2' U BL'\nAlg FL L2' U2' R\nAlg FL L2' U2' R2\nAlg FL L' F' FL\nAlg FL L' F' FL2\nAlg FL L' F' FL2'\nAlg B DL2' BL DL2 B'\nAlg FL L2 BL' U BR2'\nAlg FL2 L FL2'\nAlg FL2 L2 FL2'\nAlg FL2 L2' FL2'\nAlg FL2 L' FL2'\nAlg FL2' F2 FL2\nAlg FL2' F2' FL2\nAlg FL2' F' FL2\nAlg FR2' FL' FR2 FL\nAlg FL2 L2 FL2' L2'\nAlg FL2 L2 FL2' L'\nAlg FL2 L2 FL2' BL\nAlg FL2 L2 FL2' BL2\nAlg FL2 L2 FL2' BL2'\nAlg FL2 L2 FL2' BL'\nAlg FL2 L2' FL2' U\nAlg FL2 L2' FL2' U2\nAlg FL2 L2' FL2' U2'\nAlg FL2 L2' FL2' BL\nAlg FL2 L2' FL2' BL2\nAlg FL2 L2' FL2' BL2'\nAlg FL2 L2' FL2' BL'\nAlg FL2 L' FL2' U\nAlg FL2 L' FL2' U2'\nAlg FL2 L' FL2' F\nAlg FL2 L' FL2' F2\nAlg FL2 L' FL2' F2'\nAlg FL2 L' FL2' F'\nAlg FL2' F L FL2\nAlg FL2' F L' FL2\nAlg FL2' F2 L FL2\nAlg FL2' F2 L2 FL2\nAlg FL2' F2 L2' FL2\nAlg FL2' F2 FL2 F'\nAlg FL2' F2 FL2 L2\nAlg FL2' F2' R FL2\nAlg FL2' F2' R2 FL2\nAlg FL2' F2' R2' FL2\nAlg FL2' F' R2' FL2\nAlg FL2' F' R' FL2\nAlg FL' FR2' FL FR2\nAlg D DR2' FR2' DR2 D'\nAlg D FR2' R' FR2 D'\nAlg D' DL2 BL2 DL2' D\nAlg B2 D2' B D2 B2\nAlg DR2 D2 DR D2' DR2\nAlg FR2 D FR D' FR2\nAlg FL2 L2 BL' L2 FL2'\nAlg FL2 L2 FL2' BL2 BR\nAlg FL2 L2' BL L2' FL2'\nAlg FL2 L2' FL2' BL L'\nAlg DL FL DL'\nAlg DL FL2 DL'\nAlg DL FL2' DL'\nAlg DL FL' DL'\nAlg DL2 FL DL2'\nAlg DL FL DL' L\nAlg DL FL DL' L2\nAlg DL FL DL' L2'\nAlg DL FL DL' L'\nAlg DL FL2 L DL'\nAlg DL FL2 L2 DL'\nAlg DL FL2 L2' DL'\nAlg DL FL2 L' DL'\nAlg DL FL2 DL' L\nAlg DL FL2' DL' F2\nAlg DL FL2' DL' F2'\nAlg DL FL2' DL' F'\nAlg DL2 FL DL2' BL\nAlg DL2 FL DL2' BL2\nAlg DL2 FL DL2' BL2'\nAlg B DL2' FL DL2 B'\nAlg B2 DL2' FL DL2 B2'\nAlg FL2 F2 L' F2' FL2'\nAlg FL2 F2' L' F2 FL2'\nAlg FL2 F' L' F FL2'\nAlg FL2' FR2' FL FR2 FL2\nAlg FL2' FR' F' FR FL2\nAlg DL FL DL' L BL2'\nAlg DL FL DL' L BL'\nAlg DL FL DL' L2 U2\nAlg DL FL DL' L2 U2'\nAlg DL FL2 L2' DL' U2\nAlg DL FL2 L2' DL' U2'\nAlg DL FL2 L' DL' F'\nAlg DL FL2' DL' F2' R2\nAlg DL FL2' DL' F2' R2'\nAlg DL2 FL DL2' BL2 BR2\nAlg B DL2 FL DL2' BL B'\nAlg FL2 F2' L' F2 R2 FL2'\nAlg FL2 F2' L' F2 R2' FL2'\nAlg FL2' FR' F FR L FL2\nAlg DL FL DL' L BL2' BR2\nAlg DL FL2 L DL FL' DL2'\nAlg FR F FR'\nAlg FR F2 FR'\nAlg FR F2' FR'\nAlg FR F' FR'\nAlg FR2 R FR2'\nAlg FR2 R2 FR2'\nAlg FR2 R2' FR2'\nAlg FR2 R' FR2'\nAlg FL2' L FL2\nAlg FL2' L2 FL2\nAlg FL2' L2' FL2\nAlg FL' F FL\nAlg FL' F2 FL\nAlg FL' F' FL\nAlg FR F FR' F'\nAlg FR F2 FR' L\nAlg FR F2' FR' U\nAlg FR F2' FR' U2\nAlg FR F2' FR' U2'\nAlg FR F' FR' R\nAlg FR F' FR' R2\nAlg FR F' FR' R2'\nAlg FR F' FR' R'\nAlg FR2 R FR2' F2\nAlg FR2 R FR2' R'\nAlg FR2 R2' BR FR2'\nAlg FR2 R2' BR2 FR2'\nAlg FR2 R2' BR2' FR2'\nAlg FR2 R2' BR' FR2'\nAlg FL2' L2 FL2 BL\nAlg FL2' L2 FL2 BL2\nAlg FL2' L2' FL2 U\nAlg FL' F L2 FL\nAlg FL' F L2' FL\nAlg FL' F FL L\nAlg DR' FR2 R' FR2' DR\nAlg FR F2' U2' BR FR'\nAlg FR F2' U2' BR2 FR'\nAlg FR F' FR R' FR2'\nAlg FL2' L2' FL2 U BL2\nAlg FL2' L2' FL2 U BL2'\nAlg FR F L F' FR'\nAlg FR F L2 F' FR'\nAlg FR F L2' F' FR'\nAlg FR F L' F' FR'\nAlg FR F2 U F2' FR'\nAlg FR F2 U2 F2' FR'\nAlg FR F2 U2' F2' FR'\nAlg FR F2' R F2 FR'\nAlg FR F2' R2 F2 FR'\nAlg FR F2' R2' F2 FR'\nAlg FR FL' L FL FR'\nAlg FR FL' L2 FL FR'\nAlg FR FL' L' FL FR'\nAlg FR2 F2' L F2 FR2'\nAlg FR2 F2' L2 F2 FR2'\nAlg FR2 F' U2 F FR2'\nAlg FR2 F' U2' F FR2'\nAlg FR2 R U R' FR2'\nAlg FR2 R U' R' FR2'\nAlg FR2 R2 BR2 R2' FR2'\nAlg FR2 R2 BR2' R2' FR2'\nAlg FR2' DR BR DR' FR2\nAlg FR2' R2' U R2 FR2\nAlg FR2' R2' U2 R2 FR2\nAlg FR2' R' BR2 R FR2\nAlg FR2' R' BR2' R FR2\nAlg FR2' R' BR' R FR2\nAlg FL2 L BL L' FL2'\nAlg FL2 L2 U2' L2' FL2'\nAlg FL2 DL' BL2 DL FL2'\nAlg FL2' F2 R2' F2' FL2\nAlg FL2' L2' BL2 L2 FL2\nAlg FL' F2 L F2' FL\nAlg FL' F2 L2 F2' FL\nAlg FL' F' R' F FL\nAlg FL' FR R' FR' FL\nAlg FR F L2' F' FR' BL\nAlg FR F L2' F' FR' BL2\nAlg FR F L' F' FR' F'\nAlg FR F2 U2 BR2 F2' FR'\nAlg FR F2 U2 BR2' F2' FR'\nAlg FR F2' R F2 R2' FR'\nAlg FR F2' R2' F2 FR' R'\nAlg FR FL' L FL FR' F'\nAlg FR2 F' U2 F FR2' L2'\nAlg FR F L2 BL' L2 F' FR'\nAlg FR F L2' F U' F2' FR'\nAlg R\nAlg R2\nAlg R2'\nAlg R'\nAlg R2 F\nAlg R2 F2\nAlg R2 F2'\nAlg R2 F'\nAlg R2' U\nAlg R2' U2\nAlg R2' U2'\nAlg R2' U'\nAlg R' BR\nAlg R' BR2\nAlg R' BR2'\nAlg R' BR'\nAlg DR BR DR'\nAlg DR BR2' DR'\nAlg DR BR' DR'\nAlg FR R FR'\nAlg R2 F2' L\nAlg R2 F2' L2\nAlg R2 F2' L2'\nAlg R2 F' U\nAlg R2 F' U2\nAlg R2 F' U'\nAlg R2' U F\nAlg R2' U F2'\nAlg R2' U F'\nAlg R2' U2' BL\nAlg R2' U2' BL2\nAlg R2' U2' BL2'\nAlg R2' U' BR2'\nAlg DR BR DR' R\nAlg DR BR DR' R2\nAlg DR BR2' BL2' DR'\nAlg DR BR2' BL' DR'\nAlg R2 F' U L2\nAlg R2 F' U L2'\nAlg FR' F FR\nAlg FR' F2 FR\nAlg FR' F2' FR\nAlg FR' F' FR\nAlg R F R'\nAlg R F2 R'\nAlg R F2' R'\nAlg R F' R'\nAlg R2 U2 R2'\nAlg R2 U2' R2'\nAlg R2' BR R2\nAlg R2' BR2 R2\nAlg R2' BR2' R2\nAlg FR R2 FR' R2'\nAlg FR R2' FR' R2\nAlg FR' F FR F'\nAlg FR' F2 FR F'\nAlg FR' F2 FR L\nAlg FR' F2 FR L2\nAlg FR' F2 FR L2'\nAlg FR' F2 FR L'\nAlg FR' F2' FR U2'\nAlg FR' F2' FR L2\nAlg FR' F2' FR L2'\nAlg FR' F2' FR L'\nAlg FR' F' FR U2'\nAlg R F2' U' R'\nAlg R F2' R' L\nAlg R F2' R' L2\nAlg R F2' R' L2'\nAlg R2 U2 R2' BL2\nAlg R2 U2 R2' BL2'\nAlg R2 U2' BR R2'\nAlg R2 U2' BR2 R2'\nAlg R2 U2' R2' BL2'\nAlg R2 U2' R2' BR2'\nAlg R2 U2' R2' BR'\nAlg R2 U' BR2' R2'\nAlg R2' BR R2 BR2'\nAlg DR BR2 BL2' BR2' DR'\nAlg FR R2' FR' R2 F2\nAlg FR' F2 L' F2 FR\nAlg FR' F2' U2' BR' FR\nAlg FR' F2' L F2' FR\nAlg DR' R DR\nAlg DR' R2 DR\nAlg DR' R2' DR\nAlg DR' R' DR\nAlg DR' R DR F\nAlg DR' R DR F2\nAlg DR' R DR F2'\nAlg DR' R DR F'\nAlg DR' R2 DR U\nAlg DR' R2 DR U2\nAlg DR' R2 DR U2'\nAlg DR' R2 DR U'\nAlg DR' R2' DR BR\nAlg DR' R2' DR BR2\nAlg DR' R2' DR BR2'\nAlg DR' R2' DR BR'\nAlg DR' R' DR BR\nAlg DR' R' DR BR2'\nAlg DR' R' DR BR'\nAlg B2' DR2' R' DR2 B2\nAlg DR2' FR' F FR DR2\nAlg DR2' FR' F2 FR DR2\nAlg DR2' FR' F' FR DR2\nAlg DR' R DR F2' L\nAlg DR' R DR F2' L2\nAlg DR' R DR F2' L2'\nAlg DR' R DR F' U\nAlg DR' R DR F' U2\nAlg DR' R DR F' U'\nAlg DR' R2 U2' BL DR\nAlg DR' R2 U2' BL2 DR\nAlg DR' R2 U2' BL2' DR\nAlg DR' R2 DR U F2\nAlg DR' R' DR BR2' BL2'\nAlg DR2' FR' F2 FR DR2 L\nAlg DR2' FR' F2 FR DR2 L2\nAlg DR' FR' F' FR R' DR\nAlg BR\nAlg BR2\nAlg BR2'\nAlg BR'\nAlg BR2' U\nAlg BR2' U2\nAlg BR2' U2'\nAlg BR2' U'\nAlg BR' BL\nAlg BR' BL2\nAlg BR' BL2'\nAlg BR' BL'\nAlg B BL B'\nAlg B BL2' B'\nAlg B BL' B'\nAlg BR2' U2 F\nAlg BR2' U2 F2\nAlg BR2' U2 F2'\nAlg BR2' U2 F'\nAlg BR2' U2' L\nAlg BR2' U2' L2\nAlg BR2' U2' L2'\nAlg BR2' U' BL2'\nAlg BR' BL U\nAlg BR' BL U2\nAlg BR' BL U2'\nAlg BR' BL U'\nAlg B BL B' BR\nAlg B BL B' BR2\nAlg B BL B' BR2'\nAlg B BL2' L2' B'\nAlg B BL2' L' B'\nAlg BR2' U2' L F2\nAlg BR2' U2' L F2'\nAlg BR2' U2' L F'\nAlg BR2 U BR2'\nAlg BR2 U2 BR2'\nAlg BR2 U2' BR2'\nAlg BR2 U' BR2'\nAlg BR2' BL BR2\nAlg BR2' BL2 BR2\nAlg BR2' BL2' BR2\nAlg BR R BR' R'\nAlg BR2 U BR2' U2'\nAlg BR2 U BR2' U'\nAlg BR2 U BR2' F\nAlg BR2 U BR2' F2\nAlg BR2 U BR2' F2'\nAlg BR2 U BR2' F'\nAlg BR2 U2 BR2' F\nAlg BR2 U2 BR2' F2\nAlg BR2 U2 BR2' F2'\nAlg BR2 U2 BR2' F'\nAlg BR2 U2 BR2' L\nAlg BR2 U2 BR2' L2\nAlg BR2 U2 BR2' L2'\nAlg BR2 U2' BL BR2'\nAlg BR2 U2' BL2 BR2'\nAlg BR2 U2' BL' BR2'\nAlg BR2 U2' BR2' L\nAlg BR2 U2' BR2' L2'\nAlg BR2 U2' BR2' BL2'\nAlg BR2 U2' BR2' BL'\nAlg BR2 U' BL BR2'\nAlg BR2 U' BL2' BR2'\nAlg BR2 U' BL' BR2'\nAlg BR2' BL BR2 U2\nAlg BR2' BL BR2 U2'\nAlg BR2' BL BR2 BL2'\nAlg BR2' BL BR2 BL'\nAlg B BL2 L2' BL2' B'\nAlg DR' R2 F R2' DR\nAlg BR2 U F' U2' BR2'\nAlg BR2 U BR2' U2' BL'\nAlg BR2 U2 F U' BR2'\nAlg BR2 U2 BR2' L F2'\nAlg B' BR B\nAlg B' BR2 B\nAlg B' BR2' B\nAlg B' BR' B\nAlg B' BR2 B U\nAlg B' BR2 B U2\nAlg B' BR2 B U2'\nAlg B' BR2 B U'\nAlg B' BR2' B BL\nAlg B' BR2' B BL2\nAlg B' BR2' B BL2'\nAlg B' BR2' B BL'\nAlg B' BR' B BL\nAlg B' BR' B BL2'\nAlg B' BR' B BL'\nAlg B' BR2 U2' L B\nAlg B' BR2 U2' L2 B\nAlg B' BR2 U2' L2' B\nAlg B' BR2 B U2 F\nAlg B' BR2 B U2 F2\nAlg B' BR2 B U2 F2'\nAlg B' BR2 B U2 F'\nAlg B' BR2' B BL U\nAlg B' BR2' B BL U2\nAlg B' BR2' B BL U2'\nAlg B' BR2' B BL U'\nAlg B' BR' B BL2' L2'\nAlg B' BR' B BL2' L'\nAlg BR2 R U R' BR2'\nAlg B' BR2 U2' L B F2'\nAlg B' BR2 U2' L B F'\nAlg B' BR' B BR2 BL BR2'\nAlg B' BR2 U R BR' R' B\nAlg BR U BR'\nAlg BR U2 BR'\nAlg BR U2' BR'\nAlg BR U' BR'\nAlg BR2 BL BR2'\nAlg BR2 BL2 BR2'\nAlg BR2 BL2' BR2'\nAlg BR2 BL' BR2'\nAlg R2' F R2\nAlg R2' F2 R2\nAlg R2' F2' R2\nAlg R' U R\nAlg R' U2 R\nAlg R' U' R\nAlg BR U BR' U'\nAlg BR U2 BR' F\nAlg BR U2' BR' L\nAlg BR U2' BR' L2\nAlg BR U2' BR' L2'\nAlg BR U' BL BR'\nAlg BR U' BL2 BR'\nAlg BR U' BL2' BR'\nAlg BR U' BR' BL'\nAlg BR2 BL BR2' U2\nAlg BR2 BL BR2' BL'\nAlg R2' F2' R2 L\nAlg R2' F2' R2 L2\nAlg R' U F2 R\nAlg R' U F2' R\nAlg R' U R F\nAlg BR U' BR BL' BR2'\nAlg BR U F U' BR'\nAlg BR U F2 U' BR'\nAlg BR U F2' U' BR'\nAlg BR U F' U' BR'\nAlg BR U2 L U2' BR'\nAlg BR U2 L2 U2' BR'\nAlg BR U2 L2' U2' BR'\nAlg BR U2' BL U2 BR'\nAlg BR U2' BL2 U2 BR'\nAlg BR U2' BL2' U2 BR'\nAlg BR R' F R BR'\nAlg BR R' F2 R BR'\nAlg BR R' F' R BR'\nAlg BR2 U2' F U2 BR2'\nAlg BR2 U2' F2 U2 BR2'\nAlg BR2 U' L2 U BR2'\nAlg BR2 U' L2' U BR2'\nAlg BR2 BL L BL' BR2'\nAlg BR2 BL L' BL' BR2'\nAlg BR2' BL2' L BL2 BR2\nAlg BR2' BL2' L2 BL2 BR2\nAlg R2 F2 L F2' R2'\nAlg R2 F2 L2 F2' R2'\nAlg R2 F2 L2' F2' R2'\nAlg R2' U2 BL2' U2' R2\nAlg R' U2 F U2' R\nAlg R' U2 F2 U2' R\nAlg R' U' BL' U R\nAlg R' BR BL' BR' R\nAlg BR U F' U' BR' U'\nAlg BR U2 L' BL2 U2' BR'\nAlg BR U2' BL U2 BL2' BR'\nAlg BR U2' BL2' U2 BR' BL'\nAlg BR R' F R BR' U'\nAlg BR2 U' L2 U BR2' F2'\nAlg BR2 U' L2 U BR2' F'\nAlg BR U F2' U L' U2' BR'\nAlg BR U F2' L' F U' BR'\nAlg F\nAlg F2\nAlg F2'\nAlg F'\nAlg F L\nAlg F L2\nAlg F L2'\nAlg F L'\nAlg F2 U\nAlg F2 U2\nAlg F2 U2'\nAlg F2 U'\nAlg F L2' BL\nAlg F L2' BL2\nAlg F L2' BL2'\nAlg F L' U\nAlg F L' U2\nAlg F L' U2'\nAlg F L' U'\nAlg F2 U L\nAlg F2 U L2\nAlg F2 U L2'\nAlg F2 U L'\nAlg F L' U BL2\nAlg F L' U BL2'\nAlg F L' U BL'\nAlg F L' U' F\nAlg F L' U' F2\nAlg F L' U' F2'\nAlg F2 L F2'\nAlg F2 L2 F2'\nAlg F2 L2' F2'\nAlg F2 L' F2'\nAlg F2' U2 F2\nAlg F2' U2' F2\nAlg F2' U' F2\nAlg F2 L2 F2' L2'\nAlg F2 L2 F2' L'\nAlg F2 L2' BL F2'\nAlg F2 L2' BL2 F2'\nAlg F2 L2' BL2' F2'\nAlg F2 L' F2' U\nAlg F2 L' F2' U2\nAlg F2 L' F2' U2'\nAlg F2 L' F2' U'\nAlg F2 L' BL F2'\nAlg F2 L' BL2 F2'\nAlg F2 L' BL2' F2'\nAlg F2' U L F2\nAlg F2' U L2 F2\nAlg F2' U L' F2\nAlg F2' U2 F2 U2'\nAlg F2' U2 F2 U'\nAlg F2' U2 F2 L2\nAlg F2' U2 F2 L2'\nAlg F2' U2 F2 L'\nAlg F2' U2 L F2\nAlg F' R' F R\nAlg F L2 BL L2' F'\nAlg F L2 BL2 L2' F'\nAlg F2 L2 F2' L2' U2'\nAlg F2 L2' BL' L F2'\nAlg F2 L' F U2' F2\nAlg F2 L' F' U' F'\nAlg FL F FL'\nAlg FL F2 FL'\nAlg FL F2' FL'\nAlg FL F' FL'\nAlg FL F FL' L\nAlg FL F FL' L2\nAlg FL F FL' L2'\nAlg FL F FL' L'\nAlg FL F2 FL' L\nAlg FL F2 FL' L2\nAlg FL F2 FL' L2'\nAlg FL F2 FL' L'\nAlg FL F2' FL' U2\nAlg FL F2' FL' U2'\nAlg FL F2' FL' U'\nAlg F2 U2 L' U2' F2'\nAlg F2 U2' L' U2 F2'\nAlg F2 U' L' U F2'\nAlg FL F FL' L2 BL\nAlg FL F FL' L2 BL2\nAlg FL F FL' L2 BL2'\nAlg FL F2 FL' L2' BL\nAlg FL F2 FL' L2' BL2\nAlg FL F2 FL' L2' BL2'\nAlg FL F2 FL' L' U'\nAlg FL F FL' F2' L' F2\nAlg F2 U F U L U2' F2'\nAlg F2' L F2\nAlg F2' L2 F2\nAlg F2' L2' F2\nAlg F2' L' F2\nAlg F' U F\nAlg F' U2 F\nAlg F' U2' F\nAlg F' U' F\nAlg R U R'\nAlg R U2' R'\nAlg R U' R'\nAlg F R' F' R\nAlg F2' L F2 L'\nAlg F2' L2' BL F2\nAlg F2' L2' BL2 F2\nAlg F2' L2' BL2' F2\nAlg F' U F U'\nAlg F' U F L\nAlg F' U F L2\nAlg F' U F L2'\nAlg F' U F L'\nAlg R U2' R' BL2\nAlg R U2' R' BL2'\nAlg R U2' R' BL'\nAlg F2' L' F U' F\nAlg F2 L2 BL L2' F2'\nAlg F2 L2 BL2 L2' F2'\nAlg F2 L2 BL2' L2' F2'\nAlg F2 L2 BL' L2' F2'\nAlg F2' U BL U' F2\nAlg F2' U BL' U' F2\nAlg F2' L' BL L F2\nAlg F2' L' BL2 L F2\nAlg F2' L' BL2' L F2\nAlg F2' L' BL' L F2\nAlg F' U2 L U2' F\nAlg F' U2 L2 U2' F\nAlg F' U2 L2' U2' F\nAlg F' U2' BL2 U2 F\nAlg R U L U' R'\nAlg R U L' U' R'\nAlg R F' L F R'\nAlg R2 U2' L2 U2 R2'\nAlg R2 U' BL2 U R2'\nAlg R2 U' BL2' U R2'\nAlg R2 U' BL' U R2'\nAlg R2 BR BL' BR' R2'\nAlg F2 L2 BL2' L2' F2' U2\nAlg F2' U BL U' F2 L\nAlg F2' U BL' U' F2 L2\nAlg F2' U BL' U' F2 L2'\nAlg F2' L' BL L F2 U2\nAlg F2' L' BL L F2 U2'\nAlg F2' L' BL' L F2 U\nAlg F2' L' BL' L F2 U2\nAlg F' U2 L' U BL2' U2 F\nAlg F' U2' BL L' BL2' U2 F\nAlg U\nAlg U2\nAlg U2'\nAlg U'\nAlg U L\nAlg U L2\nAlg U L2'\nAlg U L'\nAlg U2 BL\nAlg U2 BL2\nAlg U2 BL2'\nAlg U2 BL'\nAlg U L' BL\nAlg U L' BL2\nAlg U L' BL2'\nAlg U L' BL'\nAlg U2 BL L\nAlg U2 BL L2\nAlg U2 BL L2'\nAlg U2 BL L'\nAlg U F' L F\nAlg U L' BL' U\nAlg U L' BL' U2\nAlg U2 L U2'\nAlg U2 L2 U2'\nAlg U2 L2' U2'\nAlg U2 L' U2'\nAlg U2' BL2 U2\nAlg U2' BL2' U2\nAlg U2' BL' U2\nAlg U2 L2 U2' L2'\nAlg U2 L2 U2' L'\nAlg U2 L' U2' BL\nAlg U2 L' U2' BL2\nAlg U2 L' U2' BL2'\nAlg U2 L' U2' BL'\nAlg U2' BL L U2\nAlg U2' BL L2 U2\nAlg U2' BL L2' U2\nAlg U2' BL L' U2\nAlg U2' BL2 U2 L2\nAlg U2' BL2 U2 L2'\nAlg U2' BL2 U2 L'\nAlg U2' BL2 U2 BL2'\nAlg U2' BL2 U2 BL'\nAlg U2' BL2 L U2\nAlg U' BR' U BR\nAlg U2 L' U BL2' U2\nAlg U2 L2' U2' L2 BL2\nAlg U2 L2' U2' L2 BL2'\nAlg U2 L' U' BL' U'\nAlg U2' BL2 U' L U2'\nAlg F U F'\nAlg F U2 F'\nAlg F U2' F'\nAlg F U' F'\nAlg F U F' L\nAlg F U F' L2\nAlg F U F' L2'\nAlg F U F' L'\nAlg F U2 F' L\nAlg F U2 F' L2\nAlg F U2 F' L2'\nAlg F U2 F' L'\nAlg F U2' BL2 F'\nAlg F U2' BL2' F'\nAlg F U2' BL' F'\nAlg U2 BL2 L' BL2' U2'\nAlg U2 BL' L' BL U2'\nAlg U2 BL2' L' BL2 U2'\nAlg F U2 F' L' BL'\nAlg F U F' U2' L' U2\nAlg U2 L U2 L2' U' BL' U2\nAlg U2' L U2\nAlg U2' L2 U2\nAlg U2' L2' U2\nAlg U2' L' U2\nAlg U' BL U\nAlg U' BL2 U\nAlg U' BL2' U\nAlg U' BL' U\nAlg BR BL BR'\nAlg BR BL2' BR'\nAlg BR BL' BR'\nAlg U BR' U' BR\nAlg U2' L U2 L'\nAlg U' BL U L\nAlg U' BL U L2\nAlg U' BL U L2'\nAlg U' BL U L'\nAlg U' BL U BL'\nAlg U2' L' U BL' U\nAlg U' BL2 L BL2' U\nAlg U' BL2 L2 BL2' U\nAlg U' BL2 L2' BL2' U\nAlg U' BL2 L' BL2' U\nAlg BR U' L U BR'\nAlg BR U' L2 U BR'\nAlg BR U' L2' U BR'\nAlg BR U' L' U BR'\nAlg BR BL L BL' BR'\nAlg BR BL L' BL' BR'\nAlg BR2 BL2' L BL2 BR2'\nAlg BR2 BL2' L2 BL2 BR2'\nAlg U2' L BL2' L' BL2 U2\nAlg U2' L2 F' L2' F U2\nAlg U2' L' DL L DL' U2\nAlg U2' BL2' L BL2 L' U2\nAlg U2' BL2' L2 BL2 L2' U2\nAlg U' BL2 L BL2' U BL\nAlg U' BL2 L2 BL2' U L\nAlg U' BL2 L2 BL2' U BL2'\nAlg U' BL2 L2 BL2' U BL'\nAlg U' BL2 L2 BL2' L2' U\nAlg BR BL L' BL' BR' BL2'\nAlg BR BL L' BL' BR' BL'\nAlg U' BL U BL U' L2' BL2' U\nAlg U' BL2 U' L2 U L' BL2' U\nAlg L\nAlg L2\nAlg L2'\nAlg L'\nAlg L' BL\nAlg L' BL2\nAlg L' BL2'\nAlg L' BL'\nAlg U BL U'\nAlg U BL2 U'\nAlg U BL2' U'\nAlg U BL' U'\nAlg U BL U' L\nAlg U BL U' L2\nAlg U BL U' L2'\nAlg U BL U' L'\nAlg U BL U' BL'\nAlg L2' BL L2\nAlg L2' BL2 L2\nAlg L2' BL2' L2\nAlg L2' BL' L2\nAlg L2 DL L2' DL'\nAlg L2' BL L2 BL2'\nAlg L2' BL L2 BL'\nAlg F' L2 BL L2' F\nAlg F' L2 BL2 L2' F\nAlg F' L2 BL2' L2' F\nAlg F' L2 BL' L2' F\nAlg L2 DL L' DL' L'\nAlg L2' U BL2' U' L2\nAlg L2' BL L2' BL2' L'\nAlg L2' BL L' BL2' L2'\nAlg L2' DL L' DL' L2\nAlg L' U' L' U L2\nAlg U L' DL L DL' U'\nAlg F' L2 BL L2' BL2' F\nAlg L2 DL' BL DL2 L2' DL'\nAlg L2' U BL2' U' BL L2\nAlg L2' BL' U BL' U' L2\nAlg L2' BL' L2 U' L' U\nAlg U' L U\nAlg U' L2 U\nAlg U' L2' U\nAlg U' L' U\nAlg U' L2' U BL\nAlg U' L2' U BL2\nAlg U' L2' U BL2'\nAlg U' L2' U BL'\nAlg U' L' U BL\nAlg U' L' U BL2\nAlg U' L' U BL2'\nAlg U' L' U BL'\nAlg U' L' U L BL L'\nAlg U' L' U L2 BL L2'\nAlg U' L' U BL U' L2 U\nAlg L2 BL L2'\nAlg L2 BL2 L2'\nAlg L2 BL2' L2'\nAlg L2 BL' L2'\nAlg L2 BL L2' BL'\nAlg L DL L' DL'\nAlg DL L DL' L'\nAlg L U' L2 U L2\nAlg L DL' BL DL L'\nAlg L DL' BL2 DL L'\nAlg L DL' BL' DL L'\nAlg DL L DL' L' BL'\nAlg L2 BL L' DL L' DL'\nAlg FL' L BL L' FL\nAlg FL' L BL2 L' FL\nAlg FL' L BL2' L' FL\nAlg FL' L BL' L' FL\nAlg FL' DL' BL DL FL\nAlg FL' DL' BL2 DL FL\nAlg FL' DL' BL2' DL FL\nAlg FL' DL' BL' DL FL\nAlg L2 BL2' U BL2 U' L2'\nAlg FL' L BL L' FL BL2'\nAlg FL' L BL' L' FL BL\nAlg U' F U BL U' F' U\nAlg U' F U BL2 U' F' U\nAlg U' F U BL2' U' F' U\nAlg F' FL2' DL' BL' DL FL2 F\nAlg L2' BL2 L2' BL' L2 BL' L2\nAlg DL L DL2' BL' DL2 L' DL'\nAlg DL2 FL2' DL2 BL' DL2' FL2 DL2'\nAlg FL' L U BL2' U' BL L' FL\nAlg FL' L2 U' L' U BL2 L' FL\nAlg L BL L'\nAlg L BL2 L'\nAlg L BL2' L'\nAlg L BL' L'\nAlg DL' BL DL\nAlg DL' BL2 DL\nAlg DL' BL2' DL\nAlg DL' BL' DL\nAlg L BL L' BL'\nAlg L' DL L DL'\nAlg L BL2 L' DL' BL' DL\nAlg L U BL2' U' BL2 L'\nAlg L BL2' U BL2 U' L'\nAlg DL' B' BL2 B BL2' DL\nAlg DL' BL2 B' BL2' B DL\nAlg U BL2' DL2' BL2 U' BL2' DL2\nAlg B' BL2 L2 BL2' B BL2 L2'\nAlg L U BL2' U' BL2 L' BL2'\nAlg L U BL2' U' BL2 L' BL'\nAlg L BL B BL' L' BL B'\nAlg L BL2' U BL2 U' L' BL2\nAlg L BL' U BL2 U' BL L'\nAlg L BL' U BL2' U' BL L'\nAlg L BL' U BL' U' BL L'\nAlg L2 BL2 L2' BL' L2 BL' L2'\nAlg DL' BL B' BL2' B BL' DL\nAlg L BL2' L U2 BR' U' BR U' L2'\nAlg L BL2' L BL L' BL L BL2' L2'\nAlg BL\nAlg BL2\nAlg BL2'\nAlg BL'\nAlg U BR BL2 BR' BL2' U'\nAlg B BL DL BL' DL' B'\nAlg L' BL2' DL' BL2 DL L\nAlg BR B BL B' BL' BR'\nAlg U BR BL2 BR' BL2' U' BL2\nAlg U BL BR BL' BR' U'\nAlg U BR BL BR' BL' U'\nAlg U' L' BL2' L BL2 U\nAlg B' BR' BL2' BR BL2 B\nAlg L BL2 U BL2' U' L'\nAlg BR B BL2 B' BL2' BR'\nAlg U BL2 U' BL' U BL' U'\nAlg B BL DL BL DL' BL2' B'\nAlg B BL2 DL BL' DL' BL' B'\nAlg B' BL' B BL2' B' BL2' B\nAlg U BL U' BL2 U BL2 U' BL2\nAlg U BR2 B' BR2' U' BR B BR'\nAlg BL2 BR B DL' B DL B2' BR'\nAlg B BL2' B2' BR B BR' B BL2 B'\nAlg U' BL' L' BL L U BL\nAlg B' BL2 B BL B' BL2 B\nAlg B' BL2' B BL' B' BL2' B\nAlg B' BL' BR' BL' BR BL2 B\nAlg B' BL2' BR' BL BR BL B\nAlg U' BL' L' BL' L BL2 U BL'\nAlg L' BL' L' DL L DL' BL L BL\nAlg L U BL U' BL' L'\nAlg L BL U BL' U' L'\nAlg BR' U' BL' U BL BR\nAlg L U2 BR' U' BR U' L'\nAlg U BL U2' L U L2' BL L BL2'\nAlg U' L2 F' L' F2 U' F' U2 L'\nAlg U BR' U' L U BR U' L'\nAlg U BR B BR' U' BR B' BR'\nAlg U' L U BR' U' L' U BR\nAlg B DL' B' BR B DL B' BR'\nAlg L' DL' B DL L DL' B' DL\nAlg BR B BR' U BR B' BR' U'\nAlg BR B DL' B' BR' B DL B'\nAlg U BR2' U2 L2 U2' BR2 U2 L2' U2\nAlg U2' L2 U2' BR2' U2 L2' U2' BR2 U'\nAlg U BL' B' BL U' L U2 BL' B BL U2' L'\nAlg U BR' U' L F' L2' U BR U' L2 F L'\nAlg U BR U' L U BR' U' L'\nAlg U' BL2 B BL2' U BL2 B' BL2'\nAlg L U BR U' L' U BR' U'\nAlg L BL2' B' BL2 L' BL2' B BL2\nAlg U BR' U2 L2 U2' BR U2 L2' U2\nAlg L' BL2 L2' F' L2 BL2' L2' F L2'\nAlg U BL2' U R U' BL2 U' L U2 R' U2' L'\nAlg U BR U' L2 F L' U BR' U' L F' L2'\nAlg U L' BL2 L' FL' L BL2' L U' L2' FL L2\nAlg U BR2' U R' U2' L U2 R U' BR2 U' L'`)}var dm,Fm,Vs=y(()=>{$n();ln();dm=null;Fm=null});var Jf={};he(Jf,{sgsDataPyraminx:()=>Xf,sgsDataPyraminxFixedOrientation:()=>Hs});async function Xf(){return ym??(ym=Um())}async function Hs(){return{ordering:(await Xf()).ordering.slice(2)}}async function Um(){return zt(await kt.pyraminx.def(),`SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3\n\nAlg B\nAlg B'\nAlg y\nAlg B y\nAlg B' y\nAlg y'\nAlg B y'\nAlg B' y'\nAlg BR'\nAlg B BR'\nAlg B' BR'\n\nAlg L\nAlg L'\nAlg L F\nAlg L' F\nAlg F\nAlg L F'\nAlg L' F'\nAlg F'\n\nAlg L B' U L' B\nAlg L U L'\nAlg L U' L'\nAlg L U L' U'\nAlg B' U B\nAlg B' U' B\nAlg B' U' B U\nAlg L U' L' R\nAlg L U' L' R'\nAlg L' R' L\nAlg L' R' L R\n\nAlg R\nAlg R'\n\nAlg R' U R\nAlg R' U' R\nAlg R' U R U'\nAlg B U B'\nAlg B U' B'\nAlg R B' R' B\nAlg L R L' R U' R\nAlg R L R' L'\nAlg L' R' U R L\n\nAlg U\nAlg U'\n\nAlg R U R' U'\nAlg U R U' R'\nAlg L' U' L U\nAlg U' L' U L\nAlg U L R' L' R U'\nAlg U' R' L R L' U\nAlg L' U' L U' R U' R'\n\nAlg R U' R' U\nAlg L' U L U'\nAlg U' R U R'\nAlg U L' U' L\nAlg L R' L' R L' U L U'\n\nAlg L' U L U' L R' L' R\n\nAlg b\nAlg b'\n\nAlg l\nAlg l'\n\nAlg r\nAlg r'\n\nAlg u\nAlg u'`)}var ym,Ys=y(()=>{nn();ln();ym=null});var rg={};he(rg,{sgsDataSkewb:()=>tg,sgsDataSkewbFixedCorner:()=>Xs,skewbDefWithoutMOCached:()=>ti});async function vm(){return er(\"skewb\",{allMoves:!0,addRotations:!0}).writekpuzzle(!0)}async function ti(){return wm??(wm=vm())}async function tg(){return Em??(Em=km())}async function Xs(){return{ordering:(await tg()).ordering.slice(1)}}async function km(){return zt(await ti(),`SubgroupSizes 24 6 5 12 9 3 4 9 3 3\n\nAlg y\nAlg y2\nAlg y'\nAlg F\nAlg F'\nAlg y U\nAlg y U'\nAlg y L\nAlg y L'\nAlg y F\nAlg y F'\nAlg y2 U\nAlg y2 U'\nAlg y2 B\nAlg y2 B'\nAlg y' U\nAlg y' F'\nAlg y U L'\nAlg y U B\nAlg y2 U B\nAlg y2 U B'\nAlg y2 U' B\nAlg y2 U' B'\n\nAlg U\nAlg U'\nAlg U L\nAlg U L'\nAlg U' R'\n\nAlg R\nAlg R'\nAlg R B\nAlg R' L'\n\nAlg U B' U\nAlg U' L U\nAlg U' L' U\nAlg U' B U'\nAlg R L R'\nAlg R B' R\nAlg U B L U'\nAlg U B' U B'\nAlg U B' L' U\nAlg U' L B U'\nAlg R' B L' R'\n\nAlg L\nAlg L'\nAlg L B\nAlg L B'\nAlg L B L\nAlg L B L'\nAlg L B' L\nAlg L B' L'\n\nAlg B\nAlg B'\n\nAlg L' B L\nAlg L' B' L\nAlg R' L' B L R\n\nAlg B L' B L B'\nAlg B L' B' L B'\nAlg U L U B U' L' U'\nAlg R L R' B' R L' R'\nAlg U B' R L R' B' U B\nAlg U' B U L U' B' U L'\nAlg L U' B U L' U' B' U\nAlg R B' U R B L U' B\n\nAlg U L U' B' U L' U' B\nAlg U' B L U L B' U' L'\n\nAlg U R' U' L B R' B' R\nAlg R' U' R U B' U' B L`)}var wm,Em,Js=y(()=>{$n();ln();wm=null;Em=null});var Bg={};he(Bg,{getRandomSquare1ScrambleString:()=>aB});function _m(e,t){e.ul=t.ul,e.ur=t.ur,e.dl=t.dl,e.dr=t.dr,e.ml=t.ml}function sg(e,t){var r;t<<=2,t>24?(t=48-t,r=e.ul,e.ul=(~~e.ul>>t|e.ur<<24-t)&16777215,e.ur=(~~e.ur>>t|r<<24-t)&16777215):t>0?(r=e.ul,e.ul=(e.ul<<t|~~e.ur>>24-t)&16777215,e.ur=(e.ur<<t|~~r>>24-t)&16777215):t==0?(r=e.ur,e.ur=e.dl,e.dl=r,e.ml=1-e.ml):t>=-24?(t=-t,r=e.dl,e.dl=(e.dl<<t|~~e.dr>>24-t)&16777215,e.dr=(e.dr<<t|~~r>>24-t)&16777215):t<-24&&(t=48+t,r=e.dl,e.dl=(~~e.dl>>t|e.dr<<24-t)&16777215,e.dr=(~~e.dr>>t|r<<24-t)&16777215)}function Om(e){var t,r,n,o,l;for(n=0,e.arr[0]=Pt(e,0),o=1;o<24;++o)Pt(e,o)!=e.arr[n]&&(e.arr[++n]=Pt(e,o));for(l=0,t=0;t<16;++t)for(r=t+1;r<16;++r)e.arr[t]>e.arr[r]&&(l^=1);return l}function Wm(e){var t,r,n,o;return o=e.ur&1118481,o|=~~o>>3,o|=~~o>>6,o=o&15|~~o>>12&48,n=e.ul&1118481,n|=~~n>>3,n|=~~n>>6,n=n&15|~~n>>12&48,r=e.dr&1118481,r|=~~r>>3,r|=~~r>>6,r=r&15|~~r>>12&48,t=e.dl&1118481,t|=~~t>>3,t|=~~t>>6,t=t&15|~~t>>12&48,Uo(Om(e)<<24|n<<18|o<<12|t<<6|r)}function Qm(e,t){var r,n;for(r=0;r<8;++r)e.prm[r]=~~(~~Pt(e,r*3+1)>>1<<24)>>24;for(t.cornperm=vo(e.prm),t.topEdgeFirst=Pt(e,0)==Pt(e,1),r=t.topEdgeFirst?2:0,n=0;n<4;r+=3,++n)e.prm[n]=~~(~~Pt(e,r)>>1<<24)>>24;for(t.botEdgeFirst=Pt(e,12)==Pt(e,13),r=t.botEdgeFirst?14:12;n<8;r+=3,++n)e.prm[n]=~~(~~Pt(e,r)>>1<<24)>>24;t.edgeperm=vo(e.prm),t.ml=e.ml}function Pt(e,t){var r;return t<6?r=~~e.ul>>(5-t<<2):t<12?r=~~e.ur>>(11-t<<2):t<18?r=~~e.dl>>(17-t<<2):r=~~e.dr>>(23-t<<2),~~((r&15)<<24)>>24}function ea(e,t,r){t<6?(e.ul&=~(15<<(5-t<<2)),e.ul|=r<<(5-t<<2)):t<12?(e.ur&=~(15<<(11-t<<2)),e.ur|=r<<(11-t<<2)):t<18?(e.dl&=~(15<<(17-t<<2)),e.dl|=r<<(17-t<<2)):(e.dr&=~(15<<(23-t<<2)),e.dr|=r<<(23-t<<2))}function ta(){this.arr=[],this.prm=[]}async function qm(){let e=await it();var t,r,n,o,l,i,s,u,a;for(t=new ta,n=Pn[e(3678)],l=19088743<<1|286331153,o=19088743<<1,s=i=8,r=0;r<24;r++)(n>>r&1)==0?(u=e(i)<<2,ea(t,23-r,o>>u&15),a=(1<<u)-1,o=(o&a)+(o>>4&~a),--i):(u=e(s)<<2,ea(t,23-r,l>>u&15),ea(t,22-r,l>>u&15),a=(1<<u)-1,l=(l&a)+(l>>4&~a),--s,++r);return t.ml=e(2),t}function jm(){}function Km(e){var t,r,n,o,l,i;for(_m(e.Search_d,e.Search_c),n=0;n<e.Search_length1;++n)sg(e.Search_d,e.Search_move[n]);for(Qm(e.Search_d,e.Search_sq),r=e.Search_sq.edgeperm,t=e.Search_sq.cornperm,l=e.Search_sq.ml,i=Math.max(Fe[e.Search_sq.edgeperm<<1|l],Fe[e.Search_sq.cornperm<<1|l]),n=i;n<e.Search_maxlen2;++n)if(ni(e,r,t,e.Search_sq.topEdgeFirst,e.Search_sq.botEdgeFirst,l,n,e.Search_length1,0)){for(o=0;o<n;++o)sg(e.Search_d,e.Search_move[e.Search_length1+o]);return e.Search_sol_string=Vm(e,n+e.Search_length1),!0}return!1}function Vm(e,t){for(var r=\"\",n=0,o=0,l=t-1;l>=0;l--){var i=e.Search_move[l];i>0?(i=12-i,n=i>6?i-12:i):i<0?(i=12+i,o=i>6?i-12:i):(n==0&&o==0?r+=\" / \":r+=\"(\"+n+\", \"+o+\") / \",n=o=0)}return(n!==0||o!==0)&&(r+=\"(\"+n+\", \"+o+\")\"),r}function ri(e,t,r,n,o,l){var i,s,u;if(r==0&&n<4)return n==0&&Km(e);if(l!=0&&(u=oi[t],s=we[u],s<n&&(e.Search_move[o]=0,ri(e,u,s,n-1,o+1,0))))return!0;if(u=t,l<=0){for(i=0;i+=xo[u],u=~~i>>4,i&=15,!(i>=12||(s=we[u],s>n));)if(s<n&&(e.Search_move[o]=i,ri(e,u,s,n-1,o+1,1)))return!0}if(u=t,l<=1){for(i=0;i+=bo[u],u=~~i>>4,i&=15,!(i>=6||(s=we[u],s>n));)if(s<n&&(e.Search_move[o]=-i,ri(e,u,s,n-1,o+1,2)))return!0}return!1}function ni(e,t,r,n,o,l,i,s,u){var a,f,g,c,L,p,m;if(i==0&&!n&&o||u!=0&&n==o&&(g=wo[t],f=wo[r],Fe[g<<1|1-l]<i&&Fe[f<<1|1-l]<i&&(e.Search_move[s]=0,ni(e,g,f,n,o,1-l,i-1,s+1,0))))return!0;if(u<=0)for(m=!n,g=m?Gr[t]:t,f=m?r:Gr[r],c=m?1:2,L=Fe[g<<1|l],p=Fe[f<<1|l];c<12&&L<=i&&L<=i;){if(L<i&&p<i&&(e.Search_move[s]=c,ni(e,g,f,m,o,l,i-1,s+1,1)))return!0;m=!m,m?(g=Gr[g],L=Fe[g<<1|l],c+=1):(f=Gr[f],p=Fe[f<<1|l],c+=2)}if(u<=1)for(a=!o,g=a?Mr[t]:t,f=a?r:Mr[r],c=a?1:2,L=Fe[g<<1|l],p=Fe[f<<1|l];c<(i>3?6:12)&&L<=i&&L<=i;){if(L<i&&p<i&&(e.Search_move[s]=-c,ni(e,g,f,n,a,l,i-1,s+1,2)))return!0;a=!a,a?(g=Mr[g],L=Fe[g<<1|l],c+=1):(f=Mr[f],p=Fe[f<<1|l],c+=2)}return!1}function Hm(e,t){var r;for(e.Search_c=t,r=Wm(t),e.Search_length1=we[r];e.Search_length1<100&&(e.Search_maxlen2=Math.min(31-e.Search_length1,17),!ri(e,r,we[r],e.Search_length1,0,-1));++e.Search_length1);return e.Search_sol_string}function ag(){this.Search_move=[],this.Search_d=new ta,this.Search_sq=new cg}function Ym(){}function Zm(){ug||(ug=!0,So=[0,3,6,12,15,24,27,30,48,51,54,60,63],Pn=[],we=[],xo=[],bo=[],oi=[],$m())}function Xm(e){var t,r;t=0,r=0;do(e.bottom&2048)==0?(t+=1,e.bottom=e.bottom<<1):(t+=2,e.bottom=e.bottom<<2^12291),r=1-r;while((Tr(e.bottom&63)&1)!=0);return(Tr(e.bottom)&2)==0&&(e.Shape_parity^=r),t}function ra(e){var t;return t=mg(Pn,e.top<<12|e.bottom)<<1|e.Shape_parity,t}function na(e,t){e.Shape_parity=t&1,e.top=Pn[~~t>>1],e.bottom=e.top&4095,e.top>>=12}function Jm(e){var t,r;t=0,r=0;do(e.top&2048)==0?(t+=1,e.top=e.top<<1):(t+=2,e.top=e.top<<2^12291),r=1-r;while((Tr(e.top&63)&1)!=0);return(Tr(e.top)&2)==0&&(e.Shape_parity^=r),t}function fg(){}function Uo(e){var t;return t=mg(Pn,e&16777215)<<1|~~e>>24,t}function $m(){var e,t,r,n,o,l,i,s,u,a,f,g,c,L,p,m;for(e=0,i=0;i<28561;++i)l=So[i%13],r=So[~~(i/13)%13],g=So[~~(~~(i/13)/13)%13],f=So[~~(~~(~~(i/13)/13)/13)],c=f<<18|g<<12|r<<6|l,Tr(c)==16&&(Pn[e++]=c);for(a=new fg,i=0;i<7356;++i)na(a,i),xo[i]=Jm(a),xo[i]|=ra(a)<<4,na(a,i),bo[i]=Xm(a),bo[i]|=ra(a)<<4,na(a,i),m=a.top&63,L=Tr(m),p=Tr(a.bottom&4032),a.Shape_parity^=1&~~(L&p)>>1,a.top=a.top&4032|~~a.bottom>>6&63,a.bottom=a.bottom&63|m<<6,oi[i]=ra(a);for(i=0;i<7536;++i)we[i]=-1;for(we[Uo(14378715)]=0,we[Uo(31157686)]=0,we[Uo(23967451)]=0,we[Uo(7191990)]=0,n=4,o=0,t=-1;n!=o;)for(o=n,++t,i=0;i<7536;++i)if(we[i]==t){u=0,s=i;do s=xo[s],u+=s&15,s>>=4,we[s]==-1&&(++n,we[s]=t+1);while(u!=12);u=0,s=i;do s=bo[s],u+=s&15,s>>=4,we[s]==-1&&(++n,we[s]=t+1);while(u!=12);s=oi[i],we[s]==-1&&(++n,we[s]=t+1)}}function eB(){}function tB(){if(!gg){gg=!0,Fe=[],wo=[],Gr=[],Mr=[],Lg=[1,1,2,6,24,120,720,5040],Ir=[];for(var e=0;e<12;++e)Ir[e]=[];rB()}}function cg(){}function vo(e){var t,r,n,o;for(r=0,o=1985229328,t=0;t<7;++t)n=e[t]<<2,r=(8-t)*r+(~~o>>n&7),o-=286331152<<n;return r&65535}function rB(){var e,t,r,n,o,l,i,s,u,a,f,g,c;for(o=0;o<12;++o)for(Ir[o][0]=1,Ir[o][o]=1,u=1;u<o;++u)Ir[o][u]=Ir[o-1][u-1]+Ir[o-1][u];for(g=[],o=0;o<40320;++o)oa(g,o),c=g[2],g[2]=g[4],g[4]=c,c=g[3],g[3]=g[5],g[5]=c,wo[o]=vo(g),oa(g,o),c=g[0],g[0]=g[1],g[1]=g[2],g[2]=g[3],g[3]=c,Gr[o]=vo(g),oa(g,o),c=g[4],g[4]=g[5],g[5]=g[6],g[6]=g[7],g[7]=c,Mr[o]=vo(g);for(o=0;o<80640;++o)Fe[o]=-1;for(Fe[0]=0,t=0,r=1;r<80640;){s=t>=11,n=s?-1:t,e=s?t:-1,++t;e:for(o=0;o<80640;++o)if(Fe[o]==n){if(l=~~o>>1,f=o&1,i=wo[l]<<1|1-f,Fe[i]==e&&(++r,Fe[s?o:i]=~~(t<<24)>>24,s))continue e;for(i=l,a=0;a<4;++a)if(i=Gr[i],Fe[i<<1|f]==e&&(++r,Fe[s?o:i<<1|f]=~~(t<<24)>>24,s))continue e;for(a=0;a<4;++a)if(i=Mr[i],Fe[i<<1|f]==e&&(++r,Fe[s?o:i<<1|f]=~~(t<<24)>>24,s))continue e}}}function oa(e,t){var r,n,o,l,i;for(i=1985229328,r=0;r<7;++r)o=Lg[7-r],l=~~(t/o),t-=l*o,l<<=2,e[r]=~~((~~i>>l&7)<<24)>>24,n=(1<<l)-1,i=(i&n)+(~~i>>4&~n);e[7]=~~(i<<24)>>24}function nB(){}function Tr(e){return e-=~~e>>1&1431655765,e=(~~e>>2&858993459)+(e&858993459),e=(~~e>>4)+e&252645135,e+=~~e>>8,e+=~~e>>16,e&63}function mg(e,t){var r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}async function aB(){return(await sB()).scramble_string}var Ue,ug,bo,Pn,we,xo,oi,So,gg,Mr,Ir,Fe,Gr,wo,Lg,la,oB,lB,iB,sB,pg=y(()=>{tr();Ue=ta.prototype=jm.prototype;Ue.dl=10062778;Ue.dr=14536702;Ue.ml=0;Ue.ul=70195;Ue.ur=4544119;Ue=ag.prototype=Ym.prototype;Ue.Search_c=null;Ue.Search_length1=0;Ue.Search_maxlen2=0;Ue.Search_sol_string=null;ug=!1;Ue=fg.prototype=eB.prototype;Ue.bottom=0;Ue.Shape_parity=0;Ue.top=0;gg=!1;Ue=cg.prototype=nB.prototype;Ue.botEdgeFirst=!1;Ue.cornperm=0;Ue.edgeperm=0;Ue.ml=0;Ue.topEdgeFirst=!1;la=!1,oB=function(e,t,r){la||(Zm(),tB()),r&&r(\"Done initializing Square-1.\"),la=!0,e!=null&&e()},lB=async function(){return la||oB(),qm()},iB=function(e){var t=new ag;return Hm(t,e)},sB=async function(){var e=await lB(),t=iB(e);return{state:e,scramble_string:t}}});var ia={};he(ia,{ftoDef:()=>dg,sgsDataFTO:()=>cB});async function dg(){return er(\"FTO\",{allMoves:!0,orientCenters:!0,addRotations:!0}).writekpuzzle(!0)}async function cB(){return gB??(gB=LB())}async function LB(){return zt(await dg(),`SubgroupSizes 24 12 11 12 12 11 10 9 11 8 10 9 7 8 10 10 6 9 8 5 7 6 5 4 4 8 7 3 6 6 360\n\nAlg T\nAlg B\nAlg B T\nAlg B'\nAlg B' T\nAlg U\nAlg U T\nAlg U'\nAlg U' T\nAlg B BL\nAlg B BL T\nAlg B BL'\nAlg B BL' T\nAlg B' BR\nAlg B' BR T\nAlg B' BR'\nAlg B' BR' T\nAlg U R'\nAlg U R' T\nAlg U' L\nAlg U' L T\nAlg B BL' D\nAlg B BL' D T\n\nAlg R\nAlg R'\nAlg R D\nAlg R D'\nAlg R BR\nAlg R BR'\nAlg R' F\nAlg R' L\nAlg R' L'\nAlg B L B'\nAlg U L' U'\n\nAlg B U B'\nAlg B U' B'\nAlg B R B'\nAlg B R' B'\nAlg B' U' B\nAlg B' U B L\nAlg B' U B L'\nAlg B' U' B BL'\nAlg B U' B' BR\nAlg B' R' B F\n\nAlg BR\nAlg BR'\nAlg BR BL\nAlg BR BL'\nAlg BR' F\nAlg BR' F'\nAlg BR' D\nAlg B BR B'\nAlg U F U'\nAlg BR BL L\nAlg BR' D BR'\n\nAlg B' BL B\nAlg B' BL' B\nAlg BR D' BR'\nAlg B' BL B D'\nAlg B' BL B BL\nAlg B' BL B BL'\nAlg B' BL L B\nAlg B' BL' B F'\nAlg B' BL' B L'\nAlg B' BL' B BL'\nAlg B' BL' L BL' B\n\nAlg R' BR R\nAlg R' BR' R\nAlg BR BL' D BR\nAlg R' BR D R\nAlg R' BR D' R\nAlg R' BR R BL\nAlg B' D' BL D B\nAlg BR B D' B' BR'\nAlg BR BL' D BR L'\nAlg BR BL' D BL BR\n\nAlg U BR U'\nAlg U BR' U'\nAlg U' R U\nAlg U' R' U\nAlg U BR B' U'\nAlg U BR' U' D\nAlg U BR' U' D'\nAlg U' R F' U\nAlg U' R' U L'\n\nAlg U B U'\nAlg U B' U'\nAlg U B U' L\nAlg U B U' L'\nAlg U B' U' BL'\nAlg U B U' L F\nAlg U B U' L F'\nAlg U B' U' BL' D'\n\nAlg B BL' L BL B'\nAlg B BL' L' BL B'\nAlg U B' D B U'\nAlg U B' D' B U'\nAlg U R D R' U'\nAlg U R D' R' U'\nAlg R' F L F' R\nAlg R' F L' F' R\nAlg B L' B F' D B\nAlg U B' D' B U' D\n\nAlg F\nAlg F'\nAlg F D\nAlg F D'\nAlg F' L\nAlg F' L'\nAlg F D' BL\n\nAlg F BL F'\nAlg F BL' F'\nAlg BR' BL BR\nAlg BR' BL' BR\nAlg F BR F' BR'\nAlg F BL F' BL'\nAlg F BL' F' L\nAlg F BL' L' F'\nAlg F BR' BL BR F'\n\nAlg F' BL F\nAlg F' BL' F\nAlg U BL U'\nAlg U BL' U'\nAlg F U' F' U\nAlg F' BL F D'\nAlg F' BL F BL'\nAlg F' BL D F\n\nAlg L\nAlg L'\nAlg L BL\nAlg L BL'\nAlg F' D F\nAlg L BL D\n\nAlg L' BL L\nAlg L' BL' L\nAlg L' BL D L\nAlg L' BL D' L\nAlg L' BL L BL'\nAlg L' BL D' L BL\nAlg L' BL D' L BL'\n\nAlg L D L'\nAlg L D' L'\nAlg R' D R\nAlg R' D' R\nAlg L D L' D'\nAlg L R L' R'\nAlg L' B' L B\nAlg R' D R BL\nAlg L BL' L' BL L'\n\nAlg U L' D L U'\nAlg U B D B' U'\nAlg U L' D' L U'\nAlg U B D' B' U'\nAlg R' D' BL' D R\nAlg U B D' B' U' D\nAlg U B' L B L' U'\nAlg U B D B' U' BL'\nAlg U B D' B' L' D' L U'\n\nAlg F L F'\nAlg F L' F'\nAlg F L F' D\nAlg F L F' D'\nAlg F L' F' BL'\n\nAlg L BL' D BL L'\nAlg L BL' D' BL L'\nAlg F D L D' L' F'\nAlg F L D L' D' F'\nAlg F L' B' L B F'\nAlg F' D' R' D R F\nAlg F D L D' L' F' BL'\nAlg F' R' B' R' B R' F\n\nAlg B D B'\nAlg B D' B'\nAlg L' D L\nAlg L' D' L\nAlg B D B' D'\nAlg B' L B L'\nAlg B D B' D' BL\n\nAlg D\nAlg D'\nAlg D BL\nAlg D BL'\n\nAlg D BL' D BL D'\nAlg D BL' D' BL D'\nAlg B D R D' R' B'\nAlg B R D R' D' B'\nAlg D BL' D BL D' BL\nAlg D BL' D BL D' BL'\n\nAlg D BL D BL' D'\nAlg D BL D' BL' D'\nAlg B' BL' B BR D' BR'\nAlg D BL D BL' D' BL\nAlg D BL D BL' D' BL'\n\nAlg D' BL D\nAlg D' BL' D\nAlg D' BL D BL\nAlg D' BL D BL'\n\nAlg B D' B' BL B D B'\nAlg B D' B' BL' B D B'\nAlg D' BL' D BL D' BL D\n\nAlg B R' B' BL B R B'\nAlg B R' B' BL' B R B'\nAlg L R L' BL' L R' L'\n\nAlg F BL' B' BL F' BL' B\nAlg F' R' F BL F' R F\nAlg F' R' F BL' F' R F\nAlg BR R BR' BL' BR R' BR'\nAlg F L' BL U BL' U' L F'\nAlg F' U' F D F' U F D'\nAlg F BL F' D F BL' F' BL D'\n\nAlg F D F U' F' U D' F'\nAlg F D F' BL F BL' D' F'\nAlg F U D BL' U' BL D' F'\nAlg F U' D F U F' D' F'\nAlg F' BR L F BR' F' L' F\nAlg U R BL' F BL F' R' U'\n\nAlg BL\nAlg BL'\n\nAlg F U BL U' BL' F'\nAlg F BL U BL' U' F'\nAlg U BL BR BL' BR' U'\nAlg BR F BL F' BL' BR'\nAlg F U' F' U BL' U BL U'\n\nAlg F U' F' D F U F' D'\nAlg B' U' F U B U' F' U\nAlg D F U' F' D' F U F'\nAlg BR' U BR D' BR' U' BR D\nAlg D' BR BL' F BL' F' BL BR' BL D\n\nAlg D BL D F' U' B L' BL' L R' BR' R L' BL L B' U F D\nAlg B D BR F' R' BR' R B' F D' BL D B BR' D' B'\nAlg L B' BR' L F BR L' B BR' L U F U' BR' F L BL BR'\nAlg L BL' D' BR' B R' U' R BR B' D BL' L'\nAlg B BR B' D' B D B F' R' B' R BR' B' BR F BR' BL\nAlg L' BL D L' D' L' D L' U' R' F' R U D'\nAlg U' L BL L U' D R' BL B' BL F' BL' B R BL' U D' L U\nAlg L BL BR' L U' D R' F' R BL' U BL D' BR L\nAlg D L' R F' R' L BL' BR BL' B' BL B BR' F BL' F' D'\nAlg B BL B BR' L R' U' R BR L' B\nAlg L B' R' BR B F BL D' BL' D BL' B' F' BR' R U B L'\nAlg D' L' BL F' D' BL' D B F' R' BR R B' F' BL' L D\nAlg B D' R D' R' BL BR' B BR' B' BL' D' BR B R' B' R B' BL' D'\nAlg U' L R' F U L' BL' L B BL' B' BL L U' L' F' R L' U\nAlg F' D BL' BR' BL' BR B' U' F L F' U B D F L U BL' U' L'\nAlg L' U BR' U D R' BL F R BL' U D' BR' L' BL' BR' L'\nAlg U' L' U' D R' BL B' BL F BL' B R BL' U D' L' BL' L' U\nAlg D F BL L' BL' B L' B' L' B L' B' L' BL L BL' F' D'\nAlg F' BR' B BL' BR BL B' F L' F' L B BR' B' BR L' F L BL'\nAlg F' L F' L U' D R' F R U D' L' BL' F L' F\nAlg F U' F' BR F' R' BR' U F' L' BL F' D' BL'\nAlg B BR' U R BR' R' BR U' B' BR\nAlg F' BR' B BR' R BR' BL' BR R' BR BL B' BR F\nAlg L' U BL B' U' BL U BL' B BR BL' BR' U' L\nAlg BR BL' BR' BL L' BL BR BL' BR' L\nAlg U BR' U' BR L' BL BR BL' BR' L\nAlg U' L F BL' F' BL F' BR F BR' L' U\nAlg F L F' BL D F' D' F BL' L'\nAlg U BR' U BR L BL BR BL' BR' L' U\nAlg F BR R BL' F' BL' F R' BL BR' BL F'\nAlg D BL D B U BR' D BR' L' U' BR' U BR L D' BR U' B' D\nAlg U BL' U' BL U BL D L' D BR D' L D BR U BR U D\nAlg B' U F U' B' U F' BR' U' B L B' U BR U' B L' B BL\nAlg B U' B BL U' BL L U' D R' F' R U' D' L' BL' U B\nAlg B L R F D' BR' D F' R' BL' U' L U L' U BL L' B'\nAlg D BL D F' BR' F BL' D R' BR' R F D' BL F' BR D\nAlg L' D F' R' U BR L BL B' BL B BL' BR' L' U' R D' L\nAlg F BL' U D L' U' BR R F' R' BR' U L D BL U' D BL F'\nAlg BR' BL' U' L' BL D F' L' F' L F L U L' D' BR L BL\nAlg B' L' BL U D R' F' R U D' L' BL L U BL' L B\nAlg B BL' L U B' L BL' L B' U' B' L' D L' U' B L' B' D'\nAlg B' R' L U L' R BR BL' B BR' B' BL B' BL' B'\nAlg F L R BL B' U' B R' BL' L' BL F' BL BR' BL L BL' BR L'\nAlg B' U' BL L U D R' F R U D' L' BL' U BL' B' U B'\nAlg U BR BL' BR' D' B D' F' D B' D' F BL' U' BL' F' BL' F D'\nAlg D' BL' D L BL L' D' BL D F' D F D' BL' D' BL D\nAlg B' BL' B' BL L' B' BL' F' D F L F' D' F BL' L BL' B L B\nAlg F BL' U D' BL' D' L' U' BR R F R' BR' U L U' D' BL F'\nAlg U' D' B D F' D' BR' D' BR D BR B' BL' D F BL U BL'\nAlg B BL BR D' BR L' R F R' BR' L D BL' BR' BL' B'\nAlg L' F L' U BR' U' BR L F' BR' L U BR U'\nAlg F' BL' D' BR' BL B' U' BL U B BL' BR D F\nAlg F' D' BR' U R' U BL U' R U' BL' BR D F\nAlg F U' BR F' U' BL' B U F BR' R F' U BL L\nAlg B' BL' U' BL U B BL' B BL BR BL' BR' B' BL\nAlg D' F' U BL U' L F U' F' U L' BL' F D\nAlg F' BL' D' BR' BL BR' F' BR U' B' BR' U R' BR' F'\nAlg B' U' B BL' B U' B BL' L U' L BL' L B\nAlg F' D' F U' F U F' BL F' BL' D F\nAlg F' D BR F' R F R' BR' F D'\nAlg D BL D B BR' D L' BL' L' BL' BR' BL L BL L D' BR B' D\nAlg B L BL L' BL' L' D F' R' BR R D' F L' BL' L' B'\nAlg B BL' F' BL BR D' BR' F D' B' D L F' BL' F L D L D' BL\nAlg B D' BR' D' BR' F D' BL' D' BL D BL F' D BR D' B'\nAlg B D' B U B' D B F' BR' F L' F BR F' L U' B BL\nAlg L BL' B' U BL L' BL L U L' BL' L BL' U' B BL' L'\nAlg U D F' D BR BL' BR' BL B D' F D B' D BR BL BR' U'\nAlg F' D BR L' U' R F' R' U BR' L D BR' BL BR D F\nAlg BR' L BL L' BL' BR BL' F BL' L R BL B' U B R' BL' L' F'\nAlg D BL BR D B F' R' U' BR' U R B' F D' BR' D'\nAlg D' B BR' D L' BL' L' BL' BR BL L BL L D' BR B' D' BL' D'\nAlg B U' R B' BL' B R' U' B BL' B' U' BL B' U' L U L'\nAlg B D' B' D' BR' BL BR D' B' L B BR' U B U' BL' BR BL L' BL'\nAlg B D BR' D' F BL' D' BL' D BL D F' BR D BR D B'\nAlg D' B D F' D' BR' D' BR D BR BL BR' BL' BR B' BL' D F\nAlg L BL B' U BL L' BL L U' L' BL' L BL' U' B BL L'\nAlg B' U B' D' B U' B' D BL' U BL' U' BL' B' U BL' U'\nAlg D' BR' B' L' U L' B' U B L U' L B BR D BL\nAlg L' D L' F U' F' L D' L' F U BR F' L F BR' F' L BL'\nAlg D BR D B F' R' U' BR U R B' F D' BR' BL' D'\nAlg BR BL D F BR' BL BR BL' BR F' BR' D' BL' BR'\nAlg BR' U' L' BL F' BL' F L BL' U BL BR\nAlg D' BR' B' U BR U' BL U' BL' U BR' B BR D\nAlg F U BR' U R U' BR B U' F' BL U' L' U BL' B'\nAlg B U' L F BR F' L F' BR' F L U B'\nAlg BR BL F BL' L F' BR' BL' F BL L' BL' F' BL\nAlg U' BR' L BL' BR L U' BR' U L' BL L' U' BR U'\nAlg L' F L' U BR' U' BR L F' L BL' BR BL BR'\nAlg F' D' BR' BL U R' U BL' U' R U' BR D F\nAlg F' BR' B F' U F BR U' BR' B' F BL BR BL'\nAlg L B' U' R' BR B F BL D' BL D BL' B' F' BR' R B L'\nAlg B F BL B L F BR' R' BL U' R BL' BR' F' L' F' BR' B\nAlg U BR F' D F BR' U' L' BL L' BL' L U L B' BL L' B U'\nAlg F' L B F BL B R U' R' B' BL' B' F' L BL L F\nAlg D BL D B BR' D BR' D' BR D BR BL BR' BL' D' B' D\nAlg D' BR' BL B BR B' BL' D BL D' B' BL B BR' BL' BR D\nAlg D F' U BR U' L U' BR' U L' D B D' F D B' D BL\nAlg L B BL' B L F R U' R' F' L' B' BL B' L' BL'\nAlg B D' B U B' D F' BR F L' F BR' F' L B U' B BL\nAlg B' BL L B' L' B' L B' BR' R' U' R BR L'\nAlg D' F' U' B L' BL' L R' BR R L' BL L B' U F D' BL' D'\nAlg B' F' BL' B' F U D' R BR R' BL U' BL' D B'\nAlg F' BL' D BL F BL' D' B' U' B D F' D' B' F U B\nAlg F' L' BL' L' B F BL B R U R' B' BL' B' F' L' F\nAlg L' BL U' D F D' BL' D BL F' BL' D' BL D F' U D' BL L\nAlg B' BR L R' U R BR F L' B' BL' B L F' BR L' B\nAlg B' L B' BR' B L' B' D F' U F D' F U' F' BR B' BL'\nAlg B' BR D' BL' BR' BL B L' R' L' R BR L D L BL BR' B BL\nAlg L' D F' L F L' F D' L' BL' L' D BL' BR' BL' BR BL' D'\nAlg B' F BR F BR L R' BL U R BL' BR L' B' BL' B' F\nAlg F L' F' BR' B BR' F' BR B' BR' F' L F' BR'\nAlg BR' B' BR BL' D' BR D BR' BL B\nAlg L' F L' U BR' U' L U' BR U F' L\nAlg F U' BR' R U' BR BL BR' U' BL' U' R' F' BR U\nAlg B' BR' R' U' BL D' BL U BL' D R BL' BR B\nAlg D BR' U' L BL' F' BL F L' BL U BL' BR D'\nAlg F' BL' D' F BR' BL BR BL' BR F' BR' D BL F\nAlg F' BR' BL' BR D' F' BR F BR' D BL F\nAlg F' BR R' BR BL' BR' R BR' BL F\nAlg B BR F' BR' B' F BL F BL' F'\nAlg B D' B U B' D BL' F R' F BL F' R B F' U' B BL\nAlg L BL' B' U L U L BL L B' BL B' U' BL' U' B' L' BL\nAlg L' BL' U' D F D' BL' D BL F BL' D' BL D F' U D' BL' L\nAlg F' L F' BL' D' BR' B R' U' R BR B' D BL' F L' F\nAlg U D' BR' D BR' U' L U BR L' D' BR D L U' L' BL\nAlg B' BR' B' BL B L F' BR' R' U' R BR F BR L' B\nAlg U' F' D BR' F' BR D L D L' U D' B D' B' F D' BL F\nAlg B F BL B F' L F BR' R' BL U' R BL' BR' F' BR' L' B\nAlg F' D' BL B BR' BL BR BL' BR' D' BR' D BR D F D' B' D\nAlg B' BR' B' BL B L F BR' R' U' R BR F' BR L' B\nAlg L' F BR L' R' BR BL' BR' R BR' BL B' L F' L' B L' BL'\nAlg B' U' BL' U D' BL' D F L' R U R' F' L U' BL U B\nAlg D' B D BL BR BL' BR' D' BR' D BR D' BR B' D' BL' D'\nAlg B' BR' L F' BR' R' U R BR F L' B' BL' B BR B\nAlg L U L' D' BR' D L U' L' U D' BR D BR BL BR' BL' U' BL'\nAlg F' L F' BL D' B BR' R' U R B' BR D BL F L' F\nAlg B' L B' BR' B L' F' R F' BL F R' F BL' B' BR B' BL'\nAlg F' L BL' BR' R' BL U R BR B L' B L B L' F BL' B\nAlg L' F D' BR U' BR' D BR' U BR L' B' L F' L' B L' BL'\nAlg B' BR' L F BR' R' U R BR F' L' B' BL' B BR B\nAlg L F' D' F BR' BL BR BL' BR F' BR' D F L'\nAlg F' BL' D F BL' F' BL D' BR' BL BR F\nAlg B' BR' R' BL D' BL U' BL' D BL' U R BR B\nAlg B' L BL' BR BL L' B' F BL F' BL' B BR' B\nAlg F U' BR' R BR F' U BL L U BL' B U'\nAlg B' BR B' BL F BL' B F' L BL' BR' BL L' B\nAlg U' L BL' U' R U' BL' U R' U BL' L' U\nAlg F U' BR' R' F' BR' F BL BR R BL' F' BR U\nAlg B U' L' F' BR F L' F BR' F' L' U B'\nAlg F' BR' B' F BR' BL' BR F BL B F' BL BR BL'\nAlg B BL' U' L U BL' B' BL' B' L' BL U B' U' BL L BL L\nAlg B R' U' B U R B' BR F D' B' D BL F' BL' BR' BL\nAlg U BL U' B BL U BL U' BL D' B U B' D B U' B\nAlg B BL B BL' B BR B' BL BR' R' L U' L' R B\nAlg U' L BL' B BL B' L' F U B' R U R' U F' U B BL\nAlg F' BL' D' BR' L' B' L B BL BR BL' B' L' B L D BL F BL\nAlg L B' L' F U B' R BR B BR' R' BR BL' BR' BL B U' F' BL\nAlg D' F BL B BR' B BR B' BL' D BL D' B' F' D\nAlg B' L' BL F U F' L' U B U' L F U' F' BL' L BL' B BL B\nAlg D BL D B U F' R' BR' R F U' B' D\nAlg B BR B' D' BL BR D BR D B' BL' B D BR' BL' D' BL' D'\nAlg B' R BR B' BR' R' B U' F' L B L' BL' F BL U BL'\nAlg U BR BL' BR' D' B D' F' D B' BL' BR BL BR' D' F U' D'\nAlg U' D' BR' U' BR' D' L' D BR' D' L D' BL' U' BL' U BL U'\nAlg L' F' BR F' R F' R' L F' BR' D L BL' L' BL D' F BL'\nAlg B D BL' D B U R BR R' U' B' D' BL D' B' BL\nAlg B' U L' U B BL L' F' BL F D' B' U B D B' L B L'\nAlg L BL' B' U L F R U' R' F' U L F' L B L' F\nAlg L' D R' U BR L BL B' BL' B BL' BR' L' U' R F D' L\nAlg D' B U F' R' BR R F U' B' D' BL' D'\nAlg B D BL' B' U' BL L' D L D' BL' U B BL B' D'\nAlg B U' BL' U' F U' B U B' F' U BL U' B U' B\nAlg U BR' U L BL' L U' BR U BR' L' BL BR L' U\nAlg F' D' BR' BL B' U' BL' U B BL' BR D BL F\nAlg B' L' B' F BL' F' BL F' BR F BR' B L B\nAlg F' BL' D' BR F' BR' F D BR' BL BR F\nAlg F D' F' U' F' D' BR D F' D' BR' D' F' U\nAlg BR' BL' U' BL L U' F U F' L' U BR\nAlg F BR R U' BR B U BR' F BR BL' BR D BL F\nAlg F' BR' F U' BL L' U BL' B' F' BL' BR D' BL F\nAlg B' U L' B' U L' D F L F' D' L U' B L U' L B L'\nAlg B BL B L F BR' R' U' R BR F' L' B\nAlg B D' B BR' R' U' B' U R BR U' D' F L' F' U L' D' L\nAlg L U' L' U B BL' U B BL B' U R B' BL B R' U B'\nAlg D F' D BL U' R U' BL' U R' U B D' F D B' D BL\nAlg B BL U B BR' L R' F' U' F R BR L' B' U' B'\nAlg B' U' B F' D F D' B' U B D BL F' BL' D' BL F\nAlg B D BR B F' U' R' BR' R U B' F BR' D' BL B'\nAlg L B' F R BL' U' R' BL B F' L U BR' U' BL L U BR U'\nAlg F' L F' BL L U' D R' F' R U D' L' F L' F\nAlg L U L' F' BL' F L B BL' U BL' U' BL B' BL L U' L\nAlg B' L F BR' R' U R BR F' L' B' BL' B'\nAlg U BR' U' L' U' BR' F' BR F BR D R' F R U D' L' BL' L'\nAlg B L BL L F' D R' BR' R F D' L BL L BL' L' B'\nAlg F' BL' D F' D' B D' B' U' D L D BR' L' F BR D' F U\nAlg B U B BR' L R' F' U F R BR L' B' U' BL' B'\nAlg U B' L BL' B L' U' L' BL L BL' L U BR F' D' F BR' U'\nAlg B BL' D BR B F' U' R' BR R U B' F BR' D' B'\nAlg B BR B F BR' U BL' L R BR' R' L' F' U BR U BL B BL'\nAlg B' BR' L R' U R BR L' B' BL' B'\nAlg B' U BR' R L F' BR' F L' R' BR U' B' BR B'\nAlg F' BL' F' BR R U' BR B F BR BL' D F U BL'\nAlg F' BR' B' U BR' F BR' F' BR U' BR B BR F\nAlg BR' BL' U' BL L' F' BL F BL' L U BR\nAlg U' L BL U' R U' BL U R' U BL L' U\nAlg F BR' F' U' L F BR U F' U' L' BL U BL'\nAlg L' F U' BR' U L' U BR U' L F' L\nAlg F' BR' B' U' BR' U F BR B U' BL U BR BL'\nAlg F' BR' U BR D' BR U' BR' D F\nAlg F BL' BR R BL' F' BL F R' BL BR' F'\nAlg L BL' B BL' U BL U' BL B' L' F' BL F L U' L U L\nAlg B F BL B F' L F' BR' R' BL U' R BL' BR' F BR' L' B\nAlg F BL B' F' BR B' BR' B L F BL B' BR B BL' BR' F' L' B\nAlg B F D' BL U R BL' BR' R' U' D B F' BL B\nAlg L B' U B' BR B BR U' BR' B L' F BL' B F' BR' B' BL'\nAlg U' L R' F L U L' BL' B BL B' L' BL L U' F' R L' U\nAlg BR BL F BL' F' L' F' BR' L B BR B' L' F L B BR' B' BL\nAlg B' BR' L F L' B' BL B L F' BR' R' U' R BR' L' B\nAlg D L U' BR U L U' R BL' F' R' F BL F' BR' U L D BL D\nAlg B F BL B F BR' L R' BL U' R BL' BR' L' F BR' B\nAlg L B' L' U L' B' U L' D F L' F' D' L U' B L U' B\nAlg B' BR L F' BR R' BL U R BL' BR F L' B' F BL' B' F'\nAlg B' BL L B L' B' BL' L' U BL' U R' L' R U' BL U' L B\nAlg B U' D' F D B BL' B' U D' R BR R' U' F' U D B'\nAlg D F L F' L' F R L' BL B L B' BL' L R' F' L D'\nAlg L BL D' B BR' R' U R B' BR D BL L'\nAlg D F D' B' U' B U' D F' D' F U B' U B F' BL'\nAlg D' BR' BL BR B' BL' B D BL' D' BL B BR' B' BL' BR D\nAlg U BR' U' L U R' L R BR L' B' L' B L U' L' BL'\nAlg BR' L R' U R BR B L' B L B L' BL' B\nAlg B BR' B U BR' R L F' BR F L' R' BR U' B\nAlg F' L B' BR' B L BL' L' B' BR B L BL L F\nAlg D F U' F' U D' BR U' D' F U F' D BR'\nAlg B' BL' BR D' BR' D BL BR' B BR\nAlg B BL U' BR' L U BR' F' BL D BL BR F BR\nAlg L' U BR BL BR' B' BL U' BL' U B BL' U' L\nAlg U B' BL U' L' BL' U' F BR' R' BR U F'\nAlg D BR' BL U' BL' L F' BL' F BL L' U BR D'\nAlg BR L' BL BR' BL' L BL' BR BL BR'\nAlg F BL F' BL' B F' BR F BR' B'\nAlg D BR L' U' R F' R' U BR L BL B' BL B BL' BR D'\nAlg D' BL' D BL D F' D' F D' BL' D L BL' L' D' BL D\nAlg B F D' F' U' BL' B U B' BL F D B U' B' U B' F' BL\nAlg B U F' D' R BR' R' U' D B BL B' U F U' B'\nAlg B BL B L B BR' F BR B' BR' R' U' R F' BR L' B\nAlg B BL B L F' U' F' U F BR' R' U' R BR' F BR' L' B\nAlg B' U' B F' D F D' B' U B U' D BL' F' BL D' F U BL\nAlg L F' BR B' F' R BL' U' R' BL B F' BR L BL BR L\nAlg D F' D' BL F' D' F R BL B' L U L' B R' F' BL' D F\nAlg B BL BR BL D' BR L' R F' R' BR' L D BR' BL' B'\nAlg B' L B' BR' B L' BL' U BL U' B' BR B' U BL' U'\nAlg D' B BR' F BL' F' D BR D' BL F' BR B' F D' BL' D'\nAlg B D F' L' R F D BR' D' F' R BR' L D B' BL' D' F D'\nAlg D L BL' F' R U R' B F' L BL' L' B' F' BL L' D'\nAlg B' BR' L F R' U R BR B BR' F' BR B' L' B' BL' B'\nAlg D L F BL F L BL' L D' BL' D' F' D' F' L BL D' BL'\nAlg D F BL F' BR B' BL' B BL BR' BL L' R F R' L D'\nAlg L BL' B' L B L B' L F R U R' B F'\nAlg F' D' BL F R B' L U' L' B R' BL' F' D F BL' D F D'\nAlg B' L' BL U' D' L' BL' L U' D R' F R U' BL' L B\nAlg L' F L' BL U' BL' U L F' L U' BL U BL'\nAlg D' F' BL L U' F U F' L' U BL' U' F D\nAlg B' U F D F' U F D' F U B U' F U\nAlg U B' BR' U R' U' R BR U' B\nAlg F' BL' D F BL F' BR F' BR' F BL' D' BL F\nAlg F' BR' BL' BR D BL' F BL F' D' BL F\nAlg U' F R F' BL' F R' F BL F U\nAlg F' BR F BR' L BL' BR' BL BR L'\nAlg F U' B F U' BR U BR' U F' U' B' U F'\nAlg D F' BR R F' R' F BR' D' F\nAlg B D' B U B' D B U' B BR BL BR' D BL BR BL BR' BL D'\nAlg B' U' L' D' F D' L' F' L D F' D L U B BL'\nAlg D L' F R L' BL B L' B' BL' L R' F' L F L' F' D'\nAlg D L' D' BL D F' D F D' BL' L BL D'\nAlg D' B R U' B' F' BL' L BL L' BL B F U R' BR' B' D\nAlg D L BL' F L BL L' B' F R U' R' B F BL L' D'\nAlg D F' BL F BL U BL F' D B D' F D B' D BR BL BR' U'\nAlg B F' BL B F' BR' F' L F R' U' R BL' BR BL F' L' B\nAlg L F BR B' D BL D' R U' R' D BL' D' B BR' F' L BL L\nAlg B F BL B F' BR' L R' U' R BL' BR BL L' B\nAlg D' B U BR' D BR' L' U' BR U BR L D' BR U' B' D' BL' D'\nAlg F' D' BR' BL' BR D' BR L' U' R F R' U BR' L D' F\nAlg D F U D' BL U' B D' F BR F' D' F' D BR' D B' BL\nAlg B U' D' F D BL' D' BR D' BR' D BL B' BL' B F' U D B'\nAlg L' BL' L' F BR B' D BL D' R U R' D BL' D' B BR' F' L'\nAlg B U F' U' B BL' B' U D' R BR R' D F U' B'\nAlg B L BL' U' L U' L' U R BL F D' BR D F' R' L' B'\nAlg B' L B' BR' B L' F' BL F BL' B' BR B' F U' F' U BL'\nAlg D' B BR R U' B' F' BL' L BL' L' BL B F U R' B' D\nAlg B BL' U' B BL' B D B D' B D B D' BL B' U BL B'\nAlg U BR' U' BR L' F BR' L' U BR U' L F' L\nAlg L' U BR BL BR' B U BR' U' BR B' BL' U' L\nAlg BR BL D BR' BL' L BL' BR BL L' BL D' BL' BR'\nAlg F' BL' D' BR' D BL BR' B U BR U' B' BR F\nAlg F U' F' D F' U' B' U F' U' B U' F' D'\nAlg B' U BR' R' U R U' BR B U'\nAlg L U BL U' BL' L' BL L' F' BL' F BL L BL'\nAlg U B' BL' BR' U F' BR' D' F BR' U BL' L' BL'\nAlg F BL' L' F' BL D' F' BR U' R' F' U F' BR'\nAlg U B U' BL L U' L' U BL' B'\nAlg U BL U' B BR' B U BL' U' BL L B' BR B L' B\nAlg B BL B L F' U' F U F BR' R' U' R BR' F' BR' L' B\nAlg B BR D L' D' F' D F D' F' D' F D' BR' L D' B D B\nAlg F' L B' L' F L' U' F R U R' F' L' U' B BL L'\nAlg B' L' F U F L' F R U' R' U L F R U R' U B F' BL\nAlg B U F' D' F' U R BR' R' U' F D B BL B' F U' B'\nAlg F BL U BL' U' F' BL L U' L D BR L' U L U' BR' U D' L\nAlg B U' D' B' F BL B BL' D' BR D BR' D BL D' F' U D B'\nAlg B BL' D' B' D B BL D BR' BL BR' R D R' BR BL' BR D' B'\nAlg B F U' F' D' F' U' R BL' BR' R' BL U' F D B BL B\nAlg D BR' BL B' BL' B BL' BR' L' U' R F R' U BR' L D'\nAlg B' F' U' F' BL' D' B BR' R' U R B' BR D F U B F\nAlg B' D' B' D BR L' D F' D F D F' D' F D L D' BR' B'\nAlg D' B F D BL' D' BL B BR' B' BR B' BL' F' D\nAlg B D B' F BL L' BL' F' L BL L' BL' BR L R L' R' BR' L' D'\nAlg B U B F' BL' B' D' F' U R BR R' U' F D F U' B'\nAlg BR BL' L' F' BR U F' U' BR L' B' BR' L F' BR L' B L'\nAlg D BL' L' BL D F' D' F D' BL' D L D'\nAlg F' BL' B F U' B U B' D' F' BL' B U' B' BL U F D B'\nAlg B' F' L BL' BR' R' BL U R BR L' B' F BL' B'\nAlg BR BL' BR' BL L' F L' BL' BR BL BR' L F' L\nAlg B BL BR' F U' L F U BR' F BL D BR' BL\nAlg B' BL' B' U BR' U' BR BL' BR BL BR' B BL B\nAlg BR' U' L F U' F' U L' BL' U BL BR\nAlg B U BR R' BR U' B' BR U' B' U BR' R' BR\nAlg B BR BL L BL BR' BL' L U' BL' U BL L BL' B'\nAlg F' BR' B BL' BR' R BR' BL BR R' BR B' BR F\nAlg F' BR' B U BR' U' B' BR BL' D' BR D BL F\nAlg D' F' BR U' R' F' U F' BR' F BL' L' F' BL\nAlg B BL U' L U L' BL' U B' U'\nAlg L' F' R B F' BR L' D' F' D BR' L B' F R' F BL L\nAlg D F BL L' BL' B L B' L B L B' L BL L BL' F' D'\nAlg B BL B BR' L R' U' R BR L' B U BR' U' BR BL' BR BL BR'\nAlg B' F R U' R' F' L' B L' B' L' B BL L'\nAlg B' L' F D R' F' L' U L F R' U D' L' B BL L F' L\nAlg D' L' BL F R' BR' R B' F D' BL D B F BL' L D\nAlg B' BR' R' U' BL' U' L R' F R F' L' R U' BL BR B BL\nAlg BR L BL BR L U' D R' BL F' R BL' U' D' BR U' L\nAlg BR L B' L F R F U F' U' R' L' B L F' BR' L BL\nAlg B F U D' R BL' BR' R' BL U' D B F' BL B\nAlg L' BL L' D B D' BL' B' D' L R' D R BL' U' L U BL'\nAlg L' D BL' U' R' BL F R U D' BR L' BL' BR' L'\nAlg U BR' U' L' BL' U BR U' L' B' F R BL' U R' BL B F' L'\nAlg BR L' BL' L' B' F R BL' U R' BL B F BR F BR L'\nAlg B' F' L F BR BL B' BR' B BL' F' L' B' BR B BR' B F BL'\nAlg B D BR B' D' BL' D B F' R' BR R F BR' D' B'\nAlg D BL' L' BL' L BL L' BL F' BL' L' F L BL F BL' L D'\nAlg U' D R' F R U L D' L D L D' BL' L\nAlg U D' BR D' L' D R F BR F' BR' R' BR' D' L U' D' BL'\nAlg B' F' BR' L R' BL U R BL' BR L' B' F BL' B'\nAlg L' F BL' F' BL F' BR F BR' L\nAlg L BL F' D F D' BL' F L' F'\nAlg F' D' BR U BR' D BR' U' BR F\nAlg BR' L BL' BR BL BR L' F' BR' F\nAlg B BR F BR' B' BR F' R' BR' BL' BR R BR' BL\nAlg BR' B U BR' R BR R' U' BR B'\nAlg F' BL' BR R' BR BL BR' R BR' F\nAlg BR L' BL BR' BL' BR' L U BR U'\nAlg U BR' U' BR BL' BR BL BR'\n`)}var gB,sa=y(()=>{$n();ln();gB=null});var ca=Symbol(\"Comlink.proxy\"),Cg=Symbol(\"Comlink.endpoint\"),Pg=Symbol(\"Comlink.releaseProxy\"),si=Symbol(\"Comlink.thrown\"),La=e=>typeof e==\"object\"&&e!==null||typeof e==\"function\",Mg={canHandle:e=>La(e)&&e[ca],serialize(e){let{port1:t,port2:r}=new MessageChannel;return Mn(e,t),[r,[r]]},deserialize(e){return e.start(),Tg(e)}},Ig={canHandle:e=>La(e)&&si in e,serialize({value:e}){let t;return e instanceof Error?t={isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:t={isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},ma=new Map([[\"proxy\",Mg],[\"throw\",Ig]]);function Mn(e,t=self){t.addEventListener(\"message\",function r(n){if(!n||!n.data)return;let{id:o,type:l,path:i}=Object.assign({path:[]},n.data),s=(n.data.argumentList||[]).map(pr),u;try{let a=i.slice(0,-1).reduce((g,c)=>g[c],e),f=i.reduce((g,c)=>g[c],e);switch(l){case\"GET\":u=f;break;case\"SET\":a[i.slice(-1)[0]]=pr(n.data.value),u=!0;break;case\"APPLY\":u=f.apply(a,s);break;case\"CONSTRUCT\":{let g=new f(...s);u=Og(g)}break;case\"ENDPOINT\":{let{port1:g,port2:c}=new MessageChannel;Mn(e,c),u=_g(g,[g])}break;case\"RELEASE\":u=void 0;break;default:return}}catch(a){u={value:a,[si]:0}}Promise.resolve(u).catch(a=>({value:a,[si]:0})).then(a=>{let[f,g]=ui(a);t.postMessage(Object.assign(Object.assign({},f),{id:o}),g),l===\"RELEASE\"&&(t.removeEventListener(\"message\",r),Ba(t))})}),t.start&&t.start()}function Gg(e){return e.constructor.name===\"MessagePort\"}function Ba(e){Gg(e)&&e.close()}function Tg(e,t){return ai(e,[],t)}function ko(e){if(e)throw new Error(\"Proxy has been released and is not useable\")}function ai(e,t=[],r=function(){}){let n=!1,o=new Proxy(r,{get(l,i){if(ko(n),i===Pg)return()=>Nr(e,{type:\"RELEASE\",path:t.map(s=>s.toString())}).then(()=>{Ba(e),n=!0});if(i===\"then\"){if(t.length===0)return{then:()=>o};let s=Nr(e,{type:\"GET\",path:t.map(u=>u.toString())}).then(pr);return s.then.bind(s)}return ai(e,[...t,i])},set(l,i,s){ko(n);let[u,a]=ui(s);return Nr(e,{type:\"SET\",path:[...t,i].map(f=>f.toString()),value:u},a).then(pr)},apply(l,i,s){ko(n);let u=t[t.length-1];if(u===Cg)return Nr(e,{type:\"ENDPOINT\"}).then(pr);if(u===\"bind\")return ai(e,t.slice(0,-1));let[a,f]=pa(s);return Nr(e,{type:\"APPLY\",path:t.map(g=>g.toString()),argumentList:a},f).then(pr)},construct(l,i){ko(n);let[s,u]=pa(i);return Nr(e,{type:\"CONSTRUCT\",path:t.map(a=>a.toString()),argumentList:s},u).then(pr)}});return o}function Ng(e){return Array.prototype.concat.apply([],e)}function pa(e){let t=e.map(ui);return[t.map(r=>r[0]),Ng(t.map(r=>r[1]))]}var Ra=new WeakMap;function _g(e,t){return Ra.set(e,t),e}function Og(e){return Object.assign(e,{[ca]:!0})}function ui(e){for(let[t,r]of ma)if(r.canHandle(e)){let[n,o]=r.serialize(e);return[{type:\"HANDLER\",name:t,value:n},o]}return[{type:\"RAW\",value:e},Ra.get(e)||[]]}function pr(e){switch(e.type){case\"HANDLER\":return ma.get(e.name).deserialize(e.value);case\"RAW\":return e.value}}function Nr(e,t,r){return new Promise(n=>{let o=Wg();e.addEventListener(\"message\",function l(i){!i.data||!i.data.id||i.data.id!==o||(e.removeEventListener(\"message\",l),n(i.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:o},t),r)})}function Wg(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\"-\")}var Kg=typeof globalThis.Worker==\"undefined\"&&typeof globalThis.WorkerNavigator==\"undefined\";function ha(e){Kg?(async()=>{let{port:t}=await Promise.resolve().then(()=>(Aa(),Da));Mn(e,await t())})():Mn(e)}Rt();nn();Ot();tr();pe();Rt();pe();var w2=class extends jr{constructor(t){super();this.metric=t}traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){let r=t.alg;return this.traverseAlg(r)*Math.abs(t.amount)}traverseMove(t){return this.metric(t)}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 0}traverseNewline(t){return 0}traverseLineComment(t){return 0}};function Q1(e){return\"A\"<=e&&e<=\"Z\"}function q1(e){let t=e.family;return Q1(t[0])&&t[t.length-1]===\"v\"||t===\"x\"||t===\"y\"||t===\"z\"||t===\"T\"?0:1}var E2=new w2(q1),Hi=E2.traverseAlg.bind(E2);pe();var k2=class extends jr{traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){return this.traverseAlg(t.alg)*Math.abs(t.amount)}traverseMove(t){return 1}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 1}traverseNewline(t){return 0}traverseLineComment(t){return 0}},z2=new k2,j1=z2.traverseAlg.bind(z2);tr();var K1=2,V1=!0,H1=!1;function Y1(e,t){let r=[],n=new Xe(e);return t.forEach(function(o){let l=new B(o);if(l.amount!==1)throw new Error(\"SGS cannot handle def moves with an amount other than 1 yet.\");n.reset();for(let i=1;n.applyMove(l),!yi(e,n.state,pt(e));i++)r.push({move:l.modified({amount:i}),transformation:n.state})}),r}var Dt=class{constructor(t,r,n){this.def=t;this.sgs=r;this.searchMoves=Y1(this.def,n??Object.keys(this.def.moves))}async solve(t,r=K1,n){let o=null,l=1e6,i=(s,u,a)=>{if(u===0){let f=this.sgsPhaseSolve(s,l);if(!f)return;let g=a.concat(f).simplify({collapseMoves:!0,quantumMoveOrder:n}),c=Hi(g);(o===null||c<l)&&(H1&&(console.log(`New best (${c} moves): ${g.toString()}`),console.log(`Tremble moves are: ${a.toString()}`)),o=g,l=c);return}for(let f of this.searchMoves)i(lt(this.def,s,f.transformation),u-1,a.concat([f.move]))};for(let s=0;s<=r;s++)i(t,s,new k);if(o===null)throw new Error(\"SGS search failed.\");return o}sgsPhaseSolve(t,r){let n=new at,o=t;for(let l of this.sgs.ordering){let i=l.pieceOrdering,s=\"\",u=Nt(this.def,o);for(let f=0;f<i.length;f++){let g=i[f],c=g.orbitName,L=g.permutationIdx;s+=` ${u[c].permutation[L]} ${u[c].orientation[L]}`}let a=l.lookup[s];if(!a)throw new Error(\"Missing algorithm in sgs or esgs?\");if(n.experimentalPushAlg(a.alg),n.experimentalNumUnits()>=r)return null;if(o=lt(this.def,o,a.transformation),V1)for(let f=0;f<i.length;f++){let g=i[f],c=g.orbitName,L=g.permutationIdx;if(o[c].permutation[L]!==L||o[c].orientation[L]!==0)throw new Error(\"bad SGS :-(\")}}return n.toAlg()}};async function on(e,t){let r=await Wt(),n=pt(e);for(let o of t.ordering){let l=r(Object.values(o.lookup));n=lt(e,n,l.transformation)}return n}var J1=3,I2=null;async function G2(){return I2||(I2=(async()=>{let e=await(await Promise.resolve().then(()=>(M2(),P2))).cachedData222();return new Dt(await kt[\"2x2x2\"].def(),e,\"URFLBD\".split(\"\"))})())}async function T2(){await G2()}async function Yi(e){return Je(),await(await G2()).solve(e,J1,()=>4)}async function $1(e,t,r,n){let o=await it();await v2(r[t].permutation);let l=e.orbits[t],i=r[t].orientation,s=0;for(let u=0;u<l.numPieces;u++){let a=o(l.orientations);i[u]=a,s+=a}n&&\"orientationSum\"in n&&(i[0]=((i[0]+n.orientationSum-s)%l.orientations+l.orientations)%l.orientations)}async function ec(){let e=await kt[\"2x2x2\"].def(),t=Object.assign({},e),r=new Xe(t),n=JSON.parse(JSON.stringify(r.state));return await $1(t,\"CORNERS\",n,{orientationSum:0}),n}async function N2(){return await Yi(await ec())}Ds();al();var Bm=[[null,\"x\",\"x2\",\"x'\",\"z\",\"z'\"],[null,\"y\",\"y2\",\"y'\"]],pm=null;function qf(){return pm??(pm=Promise.resolve().then(()=>(Qf(),Wf)))}async function jf(){return(await qf()).initialize()}async function Ks(){return(await qf()).random444Scramble()}async function Kf(){return sn(await Ks(),Bm)}Ot();Vs();var Am=2,Yf=null;async function hm(){return Yf||(Yf=(async()=>{let t=await(await Promise.resolve().then(()=>(Vs(),Hf))).cachedSGSDataMegaminx();return new Dt(await ei(),t,[\"U\",\"R\",\"F\",\"L\",\"BR\",\"BL\",\"FR\",\"FL\",\"DR\",\"DL\",\"B\",\"D\"])})())}async function Zf(e){Je();let t=await hm(),r=JSON.parse(JSON.stringify(e));return r.CENTERS.orientation=new Array(12).fill(0),await t.solve(r,Am,()=>5)}nn();Ot();Ys();var bm=3,$f=null;async function xm(){return $f||($f=(async()=>{let t=await(await Promise.resolve().then(()=>(Ys(),Jf))).sgsDataPyraminx();return new Dt(await kt.pyraminx.def(),t,\"RLUB\".split(\"\"))})())}async function Zs(e){return Je(),await(await xm()).solve(e,bm,()=>3)}async function Sm(){return on(await kt.pyraminx.def(),await Hs())}async function eg(){return Zs(await Sm())}Ot();Js();var zm=3,ng=null;async function Cm(){return ng||(ng=(async()=>{let e=await Promise.resolve().then(()=>(Js(),rg)),t=await e.sgsDataSkewb();return new Dt(await e.skewbDefWithoutMOCached(),t,\"RLUB\".split(\"\"))})())}function Pm(e){return{CORNERS:e.CORNERS,CENTERS:{permutation:e.CENTERS.permutation,orientation:new Array(6).fill(0)}}}async function $s(e){return Je(),await(await Cm()).solve(Pm(e),zm,n=>n.family===\"y\"?4:3)}async function Mm(){return on(await ti(),await Xs())}async function og(){return $s(await Mm())}Ot();pe();tr();function Im(e){switch(e){case 5:return 60;case 6:return 80;default:return 100}}var Gm=[[\"U\",\"D\"],[\"L\",\"R\"],[\"F\",\"B\"]],lg=new Map;function Tm(e){let t=lg.get(e);if(t)return t;let r=[];for(let n of Gm){let o=[];r.push(o);for(let l of n){o.push(new I(l)),e>3&&o.push(new I(`${l}w`));for(let i=3;i<=e/2;i++)o.push(new I(`${l}w`,i))}}return lg.set(e,r),r}async function Yt(e){let t=await it(),r=await Wt(),n=r,o=Tm(e),l=Im(e),i=new at,s=0,u=new Set;for(;i.experimentalNumUnits()<l;){let a=t(3);a!==s&&u.clear(),s=a;let f=r(o[s]),g=f.toString();u.has(g)||(u.add(g),i.push(new B(f,n([1,2,-1]))))}return i.toAlg()}al();var Nm=[[null,\"3Rw\",\"3Rw2\",\"3Rw'\",\"3Fw\",\"3Fw'\"],[null,\"3Dw\",\"3Dw2\",\"3Dw'\"]];async function ig(){return sn(await Yt(5),Nm)}pe();var uB=null;function fB(){return uB??(uB=Promise.resolve().then(()=>(pg(),Bg)))}async function Rg(){return k.fromString(await(await fB()).getRandomSquare1ScrambleString())}Ot();var mB=3,Fg=null;async function BB(){return Fg||(Fg=(async()=>{let e=await Promise.resolve().then(()=>(sa(),ia)),t=await e.sgsDataFTO();return new Dt(await e.ftoDef(),t,[\"U\",\"R\",\"F\",\"L\",\"D\",\"B\",\"BR\",\"BL\"])})())}async function pB(e){return Je(),await(await BB()).solve(e,mB,()=>3)}var Dg=!1;async function Ag(){Dg||(console.warn(\"FTO scrambles are not yet optimized. They may be much too long (\\u224890 moves).\"),Dg=!0);let e=await Promise.resolve().then(()=>(sa(),ia));return pB(await on(await e.ftoDef(),await e.sgsDataFTO()))}y2(!0);var hg=!0;function RB(e){hg=e}function yg(){return(typeof performance==\"undefined\"?Date:performance).now()}async function Te(e,t){if(!hg)return t();let r=yg(),n=t();n?.then&&await n;let o=yg();return console.warn(`${e}: ${Math.round(o-r)}ms`),n}var aa={initialize:async e=>{switch(e){case\"222\":return Te(\"preInitialize222\",T2);case\"333\":case\"333oh\":case\"333ft\":return Te(\"initialize333\",wu);case\"444\":return Te(\"initialize444\",jf);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleForEvent:async e=>{switch(e){case\"222\":return Te(\"random222Scramble\",N2);case\"333\":case\"333oh\":case\"333ft\":return Te(\"random333Scramble\",Fn);case\"333fm\":return Te(\"random333FewestMovesScramble\",zu);case\"333bf\":case\"333mb\":return Te(\"random333OrientedScramble\",Eu);case\"444\":return Te(\"random444Scramble\",Ks);case\"444bf\":return Te(\"random444OrientedScramble\",Kf);case\"555\":return Te(\"bigCubeScramble(5)\",Yt.bind(Yt,5));case\"555bf\":return Te(\"oriented555RandomMoves\",ig);case\"666\":return Te(\"bigCubeScramble(6)\",Yt.bind(Yt,6));case\"777\":return Te(\"bigCubeScramble(7)\",Yt.bind(Yt,7));case\"skewb\":return Te(\"randomSkewbFixedCornerScramble\",og);case\"pyram\":return Te(\"randomPyraminxScrambleFixedOrientation\",eg);case\"sq1\":return Te(\"getRandomSquare1Scramble\",Rg);case\"fto\":return Te(\"randomFTOScramble\",Ag);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleStringForEvent:async e=>(await aa.randomScrambleForEvent(e)).toString(),solve333ToString:async e=>(await Fs(e)).toString(),solve222ToString:async e=>(await Yi(e)).toString(),solveSkewbToString:async e=>(await $s(e)).toString(),solvePyraminxToString:async e=>(await Zs(e)).toString(),solveMegaminxToString:async e=>(await Zf(e)).toString(),setDebugMeasurePerf:async e=>{RB(e)}};ha(aa);\n";
|
|
2
|
-
//# sourceMappingURL=worker-inside-generated-string.d.ts.map
|
|
1
|
+
export const workerSource: "var kg=Object.create;var Go=Object.defineProperty;var zg=Object.getOwnPropertyDescriptor;var Cg=Object.getOwnPropertyNames;var Pg=Object.getPrototypeOf,Mg=Object.prototype.hasOwnProperty;var pa=e=>Go(e,\"__esModule\",{value:!0});var U=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ue=(e,t)=>{pa(e);for(var r in t)Go(e,r,{get:t[r],enumerable:!0})},Gg=(e,t,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let n of Cg(t))!Mg.call(e,n)&&n!==\"default\"&&Go(e,n,{get:()=>t[n],enumerable:!(r=zg(t,n))||r.enumerable});return e},Ra=e=>Gg(pa(Go(e!=null?kg(Pg(e)):{},\"default\",e&&e.__esModule&&\"default\"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var mi=(e,t,r)=>{if(!t.has(e))throw TypeError(\"Cannot \"+r)};var R=(e,t,r)=>(mi(e,t,\"read from private field\"),r?r.call(e):t.get(e)),ie=(e,t,r)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,r)},$=(e,t,r,n)=>(mi(e,t,\"write to private field\"),n?n.call(e,r):t.set(e,r),r),ci=(e,t,r,n)=>({set _(o){$(e,t,o,r)},get _(){return R(e,t,n)}}),Da=(e,t,r)=>(mi(e,t,\"access private method\"),r);var ba={};Ue(ba,{default:()=>Hg});function Vg(e){let t=new WeakMap;return{postMessage:e.postMessage.bind(e),addEventListener:(r,n)=>{let o=l=>{\"handleEvent\"in n?n.handleEvent({data:l}):n({data:l})};e.on(\"message\",o),t.set(n,o)},removeEventListener:(r,n)=>{let o=t.get(n);!o||(e.off(\"message\",o),t.delete(n))},start:e.start&&e.start.bind(e)}}var Hg,Sa=U(()=>{Hg=Vg});var xa={};Ue(xa,{port:()=>Yg});async function Yg(){let{parentPort:e}=await import(\"worker_threads\").catch();return(await Promise.resolve().then(()=>(Sa(),ba))).default(e)}var wa=U(()=>{});var Xg,Io,Ce,Mt=U(()=>{Xg=!1,Io=class{is(t){return this instanceof t}as(t){return this instanceof t?this:null}},Ce=class extends Io{constructor(){super();Xg&&Object.defineProperty(this,\"_debugStr\",{get:()=>this.toString()})}get log(){return console.log.bind(console,this,this.toString())}}});function Ea(e,t=!0){if(!t)return e;switch(e){case 1:return-1;case-1:return 1}}function di(e,t){return t===-1?Array.from(e).reverse():e}function ka(e){return Array.from(e).reverse()}var Q,ct=U(()=>{(function(r){r[r.Forwards=1]=\"Forwards\",r[r.Backwards=-1]=\"Backwards\"})(Q||(Q={}))});var Nn,Kr,za,Fi=U(()=>{Nn=2147483647,Kr=\"2^31 - 1\",za=-2147483648});var Dr,ut,Ai=U(()=>{Gt();ut=class{constructor(){ie(this,Dr,[])}push(t){R(this,Dr).push(t)}experimentalPushAlg(t){for(let r of t.units())this.push(r)}experimentalNumUnits(){return R(this,Dr).length}toAlg(){return new k(R(this,Dr))}reset(){$(this,Dr,[])}};Dr=new WeakMap});var dr,Fr,No,Pe,On=U(()=>{Gt();Mt();ct();No=class extends Ce{constructor(t,r){super();ie(this,dr,void 0);ie(this,Fr,void 0);$(this,dr,Zt(t)),$(this,Fr,Zt(r))}get A(){return R(this,dr)}get B(){return R(this,Fr)}isIdentical(t){let r=t.as(No);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new No(R(this,Fr),R(this,dr))}*experimentalExpand(t=Q.Forwards,r){r??(r=1/0),r===0?yield t===Q.Forwards?this:this.invert():t===Q.Forwards?(yield*this.A.experimentalExpand(Q.Forwards,r-1),yield*this.B.experimentalExpand(Q.Forwards,r-1),yield*this.A.experimentalExpand(Q.Backwards,r-1),yield*this.B.experimentalExpand(Q.Backwards,r-1)):(yield*this.B.experimentalExpand(Q.Forwards,r-1),yield*this.A.experimentalExpand(Q.Forwards,r-1),yield*this.B.experimentalExpand(Q.Backwards,r-1),yield*this.A.experimentalExpand(Q.Backwards,r-1))}toString(){return`[${R(this,dr).toString()}, ${R(this,Fr).toString()}]`}},Pe=No;dr=new WeakMap,Fr=new WeakMap});var Qr,jr,Oo,Me,_n=U(()=>{Gt();Mt();ct();Oo=class extends Ce{constructor(t,r){super();ie(this,Qr,void 0);ie(this,jr,void 0);$(this,Qr,Zt(t)),$(this,jr,Zt(r))}get A(){return R(this,Qr)}get B(){return R(this,jr)}isIdentical(t){let r=t.as(Oo);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new Oo(R(this,Qr),R(this,jr).invert())}*experimentalExpand(t,r){r??(r=1/0),r===0?yield t===Q.Forwards?this:this.invert():(yield*this.A.experimentalExpand(Q.Forwards,r-1),yield*this.B.experimentalExpand(t,r-1),yield*this.A.experimentalExpand(Q.Backwards,r-1))}toString(){return`[${this.A}: ${this.B}]`}},Me=Oo;Qr=new WeakMap,jr=new WeakMap});var Xt,hi,pt,Wn=U(()=>{Mt();ct();hi=class extends Ce{constructor(t){super();ie(this,Xt,void 0);if(t.includes(`\n`)||t.includes(\"\\r\"))throw new Error(\"LineComment cannot contain newline\");$(this,Xt,t)}get text(){return R(this,Xt)}isIdentical(t){let r=t;return t.is(hi)&&R(this,Xt)===R(r,Xt)}invert(){return this}*experimentalExpand(t=Q.Forwards,r=1/0){yield this}toString(){return`//${R(this,Xt)}`}},pt=hi;Xt=new WeakMap});var Qe,Kn=U(()=>{Mt();ct();Qe=class extends Ce{toString(){return`\n`}isIdentical(t){return t.is(Qe)}invert(){return this}*experimentalExpand(t=Q.Forwards,r=1/0){yield this}}});var je,Qn=U(()=>{Mt();ct();je=class extends Ce{toString(){return\".\"}isIdentical(t){return t.is(je)}invert(){return this}*experimentalExpand(t=Q.Forwards,r=1/0){yield this}}});function _o(e,t){return e?parseInt(e):t}function yi(e){return new Wo().parseAlg(e)}function Pa(e){return new Wo().parseMove(e)}function Ma(e){return new Wo().parseQuantumMove(e)}function qe(e,t,r){let n=e;return n.startCharIndex=t,n.endCharIndex=r,n}function Ga(e,t){return\"startCharIndex\"in e&&(t.startCharIndex=e.startCharIndex),\"endCharIndex\"in e&&(t.endCharIndex=e.endCharIndex),t}var Ca,Jg,$g,e1,t1,r1,Je,O,Wo,Ui=U(()=>{Gt();Ai();On();_n();Ko();Wn();Tt();Kn();Qn();Ca=/^(\\d+)?('?)/,Jg=/^[_\\dA-Za-z]/,$g=/^((([1-9]\\d*)-)?([1-9]\\d*))?([_A-Za-z]+)?/,e1=/^[^\\n]*/,t1=/^(-?\\d+), ?/,r1=/^(-?\\d+)\\)/;Wo=class{constructor(){ie(this,Je,\"\");ie(this,O,0)}parseAlg(t){$(this,Je,t),$(this,O,0);let r=this.parseAlgWithStopping([]);return this.mustBeAtEndOfInput(),r}parseMove(t){$(this,Je,t),$(this,O,0);let r=this.parseMoveImpl();return this.mustBeAtEndOfInput(),r}parseQuantumMove(t){$(this,Je,t),$(this,O,0);let r=this.parseQuantumMoveImpl();return this.mustBeAtEndOfInput(),r}mustBeAtEndOfInput(){if(R(this,O)!==R(this,Je).length)throw new Error(\"parsing unexpectedly ended early\")}parseAlgWithStopping(t){let r=R(this,O),n=R(this,O),o=new ut,l=!1,i=s=>{if(l)throw new Error(`Unexpected character at index ${s}. Are you missing a space?`)};e:for(;R(this,O)<R(this,Je).length;){let s=R(this,O);if(t.includes(R(this,Je)[R(this,O)]))return qe(o.toAlg(),r,n);if(this.tryConsumeNext(\" \")){l=!1,o.experimentalNumUnits()===0&&(r=R(this,O));continue e}else if(Jg.test(R(this,Je)[R(this,O)])){i(s);let u=this.parseMoveImpl();o.push(u),l=!0,n=R(this,O);continue e}else if(this.tryConsumeNext(\"(\")){i(s);let u=this.tryRegex(t1);if(u){let a=u[1],f=R(this,O),g=this.parseRegex(r1),L=qe(new c(new G(\"U_SQ_\"),parseInt(a)),s+1,s+1+a.length),B=qe(new c(new G(\"D_SQ_\"),parseInt(g[1])),f,R(this,O)-1),p=qe(new k([L,B]),s+1,R(this,O)-1);o.push(qe(new it(p),s,R(this,O))),l=!0,n=R(this,O);continue e}else{let a=this.parseAlgWithStopping([\")\"]);this.mustConsumeNext(\")\");let f=this.parseAmount();o.push(qe(new it(a,f),s,R(this,O))),l=!0,n=R(this,O);continue e}}else if(this.tryConsumeNext(\"[\")){i(s);let u=this.parseAlgWithStopping([\",\",\":\"]),a=this.popNext(),f=this.parseAlgWithStopping([\"]\"]);switch(this.mustConsumeNext(\"]\"),a){case\":\":o.push(qe(new Me(u,f),s,R(this,O))),l=!0,n=R(this,O);continue e;case\",\":o.push(qe(new Pe(u,f),s,R(this,O))),l=!0,n=R(this,O);continue e;default:throw\"unexpected parsing error\"}}else if(this.tryConsumeNext(`\n`)){o.push(qe(new Qe,s,R(this,O))),l=!1,n=R(this,O);continue e}else if(this.tryConsumeNext(\"/\"))if(this.tryConsumeNext(\"/\")){i(s);let[u]=this.parseRegex(e1);o.push(qe(new pt(u),s,R(this,O))),l=!1,n=R(this,O);continue e}else{o.push(qe(new c(\"_SLASH_\"),s,R(this,O))),l=!0,n=R(this,O);continue e}else if(this.tryConsumeNext(\".\")){i(s),o.push(qe(new je,s,R(this,O))),l=!0,n=R(this,O);continue e}else throw new Error(`Unexpected character: ${this.popNext()}`)}if(R(this,O)!==R(this,Je).length)throw new Error(\"did not finish parsing?\");if(t.length>0)throw new Error(\"expected stopping\");return qe(o.toAlg(),r,n)}parseQuantumMoveImpl(){let[,,,t,r,n]=this.parseRegex($g);return new G(n,_o(r,void 0),_o(t,void 0))}parseMoveImpl(){let t=R(this,O);if(this.tryConsumeNext(\"/\"))return qe(new c(\"_SLASH_\"),t,R(this,O));let r=this.parseQuantumMoveImpl(),[n,o]=this.parseAmountAndTrackEmptyAbsAmount(),l=this.parseMoveSuffix();if(l){if(n<0)throw new Error(\"uh-oh\");if((l===\"++\"||l===\"--\")&&n!==1)throw new Error(\"Pochmann ++ or -- moves cannot have an amount other than 1.\");if((l===\"++\"||l===\"--\")&&!o)throw new Error(\"Pochmann ++ or -- moves cannot have an amount written as a number.\");if((l===\"+\"||l===\"-\")&&o)throw new Error(\"Clock dial moves must have an amount written as a natural number followed by + or -.\");l.startsWith(\"+\")&&(r=r.modified({family:`${r.family}_${l===\"+\"?\"PLUS\":\"PLUSPLUS\"}_`})),l.startsWith(\"-\")&&(r=r.modified({family:`${r.family}_${l===\"-\"?\"PLUS\":\"PLUSPLUS\"}_`}),n*=-1)}return qe(new c(r,n),t,R(this,O))}parseMoveSuffix(){return this.tryConsumeNext(\"+\")?this.tryConsumeNext(\"+\")?\"++\":\"+\":this.tryConsumeNext(\"-\")?this.tryConsumeNext(\"-\")?\"--\":\"-\":null}parseAmountAndTrackEmptyAbsAmount(){let t=R(this,O),[,r,n]=this.parseRegex(Ca);if(r?.startsWith(\"0\")&&r!==\"0\")throw new Error(`Error at char index ${t}: An amount can only start with 0 if it's exactly the digit 0.`);return[_o(r,1)*(n===\"'\"?-1:1),!r]}parseAmount(){let t=R(this,O),[,r,n]=this.parseRegex(Ca);if(r?.startsWith(\"0\")&&r!==\"0\")throw new Error(`Error at char index ${t}: An amount number can only start with 0 if it's exactly the digit 0.`);return _o(r,1)*(n===\"'\"?-1:1)}parseRegex(t){let r=t.exec(this.remaining());if(r===null)throw new Error(\"internal parsing error\");return $(this,O,R(this,O)+r[0].length),r}tryRegex(t){let r=t.exec(this.remaining());return r===null?null:($(this,O,R(this,O)+r[0].length),r)}remaining(){return R(this,Je).slice(R(this,O))}popNext(){let t=R(this,Je)[R(this,O)];return ci(this,O)._++,t}tryConsumeNext(t){return R(this,Je)[R(this,O)]===t?(ci(this,O)._++,!0):!1}mustConsumeNext(t){let r=this.popNext();if(r!==t)throw new Error(`expected \\`${t}\\` while parsing, encountered ${r}`);return r}};Je=new WeakMap,O=new WeakMap});function Qo(e){Ta.has(e)||(console.warn(e),Ta.add(e))}var Ta,bi=U(()=>{Ta=new Set});var qr,Si=U(()=>{ct();Fi();qr=class{constructor(t,r=1){if(this.quantum=t,this.amount=r,!Number.isInteger(this.amount)||this.amount<za||this.amount>Nn)throw new Error(`Unit amount absolute value must be a non-negative integer from ${Kr} to ${Kr}.`)}suffix(){let t=\"\",r=Math.abs(this.amount);return r!==1&&(t+=r),this.amount<0&&(t+=\"'\"),t}isIdentical(t){return this.quantum.isIdentical(t.quantum)&&this.amount===t.amount}*experimentalExpand(t,r){let n=Math.abs(this.amount),o=Ea(t,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,r)}}});var It,Ge,Te,jo,G,we,Vr,c,Tt=U(()=>{Mt();ct();Fi();Ui();bi();Si();jo=class extends Io{constructor(t,r,n){super();ie(this,It,void 0);ie(this,Ge,void 0);ie(this,Te,void 0);if($(this,It,t),$(this,Ge,r??null),$(this,Te,n??null),Object.freeze(this),R(this,Ge)!==null&&(!Number.isInteger(R(this,Ge))||R(this,Ge)<1||R(this,Ge)>Nn))throw new Error(`QuantumMove inner layer must be a positive integer below ${Kr}.`);if(R(this,Te)!==null&&(!Number.isInteger(R(this,Te))||R(this,Te)<1||R(this,Te)>Nn))throw new Error(`QuantumMove outer layer must be a positive integer below ${Kr}.`);if(R(this,Te)!==null&&R(this,Ge)!==null&&R(this,Ge)<=R(this,Te))throw new Error(\"QuantumMove outer layer must be smaller than inner layer.\");if(R(this,Te)!==null&&R(this,Ge)===null)throw new Error(\"QuantumMove with an outer layer must have an inner layer\")}static fromString(t){return Ma(t)}modified(t){return new jo(t.family??R(this,It),t.innerLayer??R(this,Ge),t.outerLayer??R(this,Te))}isIdentical(t){let r=t;return t.is(jo)&&R(this,It)===R(r,It)&&R(this,Ge)===R(r,Ge)&&R(this,Te)===R(r,Te)}get family(){return R(this,It)}get outerLayer(){return R(this,Te)}get innerLayer(){return R(this,Ge)}experimentalExpand(){throw new Error(\"experimentalExpand() cannot be called on a `QuantumMove` directly.\")}toString(){let t=R(this,It);return R(this,Ge)!==null&&(t=String(R(this,Ge))+t,R(this,Te)!==null&&(t=String(R(this,Te))+\"-\"+t)),t}},G=jo;It=new WeakMap,Ge=new WeakMap,Te=new WeakMap;Vr=class extends Ce{constructor(...t){super();ie(this,we,void 0);if(typeof t[0]==\"string\")if(t[1]??null){$(this,we,new qr(G.fromString(t[0]),t[1]));return}else return Vr.fromString(t[0]);$(this,we,new qr(t[0],t[1]))}isIdentical(t){let r=t.as(Vr);return!!r&&R(this,we).isIdentical(R(r,we))}invert(){return Ga(this,new Vr(R(this,we).quantum,-this.amount))}*experimentalExpand(t=Q.Forwards){t===Q.Forwards?yield this:yield this.modified({amount:-this.amount})}get quantum(){return R(this,we).quantum}modified(t){return new Vr(R(this,we).quantum.modified(t),t.amount??this.amount)}static fromString(t){return Pa(t)}get amount(){return R(this,we).amount}get type(){return Qo(\"deprecated: type\"),\"blockMove\"}get family(){return R(this,we).quantum.family??void 0}get outerLayer(){return R(this,we).quantum.outerLayer??void 0}get innerLayer(){return R(this,we).quantum.innerLayer??void 0}toString(){if(this.family===\"_SLASH_\")return\"/\";if(this.family.endsWith(\"_PLUS_\"))return R(this,we).quantum.toString().slice(0,-6)+Math.abs(this.amount)+(this.amount<0?\"-\":\"+\");if(this.family.endsWith(\"_PLUSPLUS_\")){let t=Math.abs(this.amount);return R(this,we).quantum.toString().slice(0,-10)+(t===1?\"\":t)+(this.amount<0?\"--\":\"++\")}return R(this,we).quantum.toString()+R(this,we).suffix()}},c=Vr;we=new WeakMap});var Ia,Na,$e,qo,it,Ko=U(()=>{Gt();Mt();ct();Tt();Si();Ia=class{constructor(){this.quantumU_SQ_=null;this.quantumD_SQ_=null}format(t){let r=this.tuple(t);return r?`(${r.map(n=>n.amount).join(\", \")})`:null}tuple(t){this.quantumU_SQ_||(this.quantumU_SQ_=new G(\"U_SQ_\")),this.quantumD_SQ_||(this.quantumD_SQ_=new G(\"D_SQ_\"));let r=t.alg;if(r.experimentalNumUnits()===2){let[n,o]=r.units();if(n.as(c)?.quantum.isIdentical(this.quantumU_SQ_)&&o.as(c)?.quantum.isIdentical(this.quantumD_SQ_)){if(t.amount!==1)throw new Error(\"Square-1 tuples cannot have an amount other than 1.\");return[n,o]}}return null}},Na=new Ia,qo=class extends Ce{constructor(t,r){super();ie(this,$e,void 0);let n=Zt(t);$(this,$e,new qr(n,r))}isIdentical(t){let r=t;return t.is(qo)&&R(this,$e).isIdentical(R(r,$e))}get alg(){return R(this,$e).quantum}get amount(){return R(this,$e).amount}get experimentalRepetitionSuffix(){return R(this,$e).suffix()}invert(){return new qo(R(this,$e).quantum,-R(this,$e).amount)}*experimentalExpand(t=Q.Forwards,r){r??(r=1/0),r===0?yield t===Q.Forwards?this:this.invert():yield*R(this,$e).experimentalExpand(t,r-1)}static fromString(){throw new Error(\"unimplemented\")}toString(){return Na.format(this)??`(${R(this,$e).quantum.toString()})${R(this,$e).suffix()}`}experimentalAsSquare1Tuple(){return Na.tuple(this)}},it=qo;$e=new WeakMap});var Vo=U(()=>{Ko();Wn();On();_n();Tt();Kn();Qn()});function Rt(e,t){return e instanceof t}function Oa(e){return Rt(e,it)||Rt(e,pt)||Rt(e,Pe)||Rt(e,Me)||Rt(e,c)||Rt(e,Qe)||Rt(e,je)}var xi=U(()=>{Vo()});function _a(e,t,r){if(t.is(it))return e.traverseGrouping(t,r);if(t.is(c))return e.traverseMove(t,r);if(t.is(Pe))return e.traverseCommutator(t,r);if(t.is(Me))return e.traverseConjugate(t,r);if(t.is(je))return e.traversePause(t,r);if(t.is(Qe))return e.traverseNewline(t,r);if(t.is(pt))return e.traverseLineComment(t,r);throw new Error(\"unknown unit\")}function Wa(e){if(e.is(it)||e.is(c)||e.is(Pe)||e.is(Me)||e.is(je)||e.is(Qe)||e.is(pt))return e;throw\"internal error: expected unit\"}var Hr,Yr,Ho,n1,vi,wi,Ka,Qa,Ei=U(()=>{Ko();On();Tt();Kn();Qn();_n();Wn();Hr=class{traverseUnit(t,r){return _a(this,t,r)}traverseIntoUnit(t,r){return Wa(this.traverseUnit(t,r))}},Yr=class extends Hr{traverseUnit(t){return _a(this,t,void 0)}traverseIntoUnit(t){return Wa(this.traverseUnit(t))}},vi=class extends Hr{*traverseAlg(t,r){if(r.depth===0){yield*t.units();return}let n=[],o=null,l=r?.collapseMoves??!0;function i(a,f){var B;let g=Da(B=vi,Ho,n1).call(B,a,f,r);if(g===0)return!1;let L=new c(a.quantum,g);return n.push(L),o=L,!0}function s(a){l&&o?.is(c)&&a.is(c)&&o.quantum.isIdentical(a.quantum)?(n.pop(),i(o,a.amount)||(o=n.slice(-1)[0])):a.is(c)?i(a,0):(n.push(a),o=a)}let u={depth:r.depth?r.depth-1:null};for(let a of t.units())for(let f of this.traverseUnit(a,u))s(f);for(let a of n)yield a}*traverseGrouping(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new it(this.traverseAlg(t.alg,n))}*traverseMove(t,r){yield t}*traverseCommutator(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new Pe(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traverseConjugate(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new Me(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traversePause(t,r){yield t}*traverseNewline(t,r){yield t}*traverseLineComment(t,r){yield t}},wi=vi;Ho=new WeakSet,n1=function(t,r,n){let o=t.amount+r;if(n?.quantumMoveOrder){let l=n.quantumMoveOrder(t.quantum),i=Math.floor(l/2)+1-l;o=(o%l+l-i)%l+i}return o},ie(wi,Ho);Ka=new wi,Qa=Ka.traverseAlg.bind(Ka)});function ja(e){if(!e)return[];if(Rt(e,k))return e.units();if(typeof e==\"string\")return yi(e).units();let t=e;if(typeof t[Symbol.iterator]==\"function\")return t;throw\"Invalid unit\"}function Zt(e){return Rt(e,k)?e:new k(e)}function o1(e,t){return e.is(Qe)||t.is(Qe)?\"\":e.is(pt)&&!t.is(Qe)?`\n`:\" \"}var et,Ar,k,Gt=U(()=>{Mt();xi();ct();Ui();Ei();Wn();Tt();Kn();bi();Ar=class extends Ce{constructor(t){super();ie(this,et,void 0);$(this,et,Array.from(ja(t)));for(let r of R(this,et))if(!Oa(r))throw new Error(\"An alg can only contain units.\")}isIdentical(t){let r=t;if(!t.is(Ar))return!1;let n=Array.from(R(this,et)),o=Array.from(R(r,et));if(n.length!==o.length)return!1;for(let l=0;l<n.length;l++)if(!n[l].isIdentical(o[l]))return!1;return!0}invert(){return new Ar(ka(Array.from(R(this,et)).map(t=>t.invert())))}*experimentalExpand(t=Q.Forwards,r){r??(r=1/0);for(let n of di(R(this,et),t))yield*n.experimentalExpand(t,r)}expand(t){return new Ar(this.experimentalExpand(Q.Forwards,t?.depth??1/0))}*experimentalLeafMoves(){for(let t of this.experimentalExpand())t.is(c)&&(yield t)}concat(t){return new Ar(Array.from(R(this,et)).concat(Array.from(ja(t))))}experimentalIsEmpty(){for(let t of R(this,et))return!1;return!0}static fromString(t){return yi(t)}*units(){for(let t of R(this,et))yield t}experimentalNumUnits(){return Array.from(R(this,et)).length}get type(){return Qo(\"deprecated: type\"),\"sequence\"}toString(){let t=\"\",r=null;for(let n of R(this,et))r&&(t+=o1(r,n)),t+=n.toString(),r=n;return t}simplify(t){return new Ar(Qa(this,t??{}))}},k=Ar;et=new WeakMap});var l1,qa=U(()=>{Gt();Vo();On();_n();Tt();Qn();l1={Sune:new k([new c(\"R\",1),new c(\"U\",1),new c(\"R\",-1),new c(\"U\",1),new c(\"R\",1),new c(\"U\",-2),new c(\"R\",-1)]),AntiSune:new k([new c(\"R\",1),new c(\"U\",2),new c(\"R\",-1),new c(\"U\",-1),new c(\"R\",1),new c(\"U\",-1),new c(\"R\",-1)]),SuneCommutator:new k([new Pe(new k([new c(\"R\",1),new c(\"U\",1),new c(\"R\",-2)]),new k([new Me(new k([new c(\"R\",1)]),new k([new c(\"U\",1)]))]))]),Niklas:new k([new c(\"R\",1),new c(\"U\",-1),new c(\"L\",-1),new c(\"U\",1),new c(\"R\",-1),new c(\"U\",-1),new c(\"L\",1),new c(\"U\",1)]),EPerm:new k([new c(\"x\",-1),new Pe(new k([new Me(new k([new c(\"R\",1)]),new k([new c(\"U\",-1)]))]),new k([new c(\"D\",1)])),new Pe(new k([new Me(new k([new c(\"R\",1)]),new k([new c(\"U\",1)]))]),new k([new c(\"D\",1)])),new c(\"x\",1)]),FURURFCompact:new k([new Me(new k([new c(\"F\",1)]),new k([new Pe(new k([new c(\"U\",1)]),new k([new c(\"R\",1)]))]))]),APermCompact:new k([new Me(new k([new c(\"R\",2)]),new k([new Pe(new k([new c(\"F\",2)]),new k([new c(\"R\",-1),new c(\"B\",-1),new c(\"R\",1)]))]))]),FURURFMoves:new k([new c(\"F\",1),new c(\"U\",1),new c(\"R\",1),new c(\"U\",-1),new c(\"R\",-1),new c(\"F\",-1)]),TPerm:new k([new c(\"R\",1),new c(\"U\",1),new c(\"R\",-1),new c(\"U\",-1),new c(\"R\",-1),new c(\"F\",1),new c(\"R\",2),new c(\"U\",-1),new c(\"R\",-1),new c(\"U\",-1),new c(\"R\",1),new c(\"U\",1),new c(\"R\",-1),new c(\"F\",-1)]),HeadlightSwaps:new k([new Me(new k([new c(\"F\",1)]),new k([new it(new k([new Pe(new k([new c(\"R\",1)]),new k([new c(\"U\",1)]))]),3)]))]),TriplePause:new k([new je,new je,new je])}});var dR,Va=U(()=>{Tt();dR={73:new c(\"R\"),75:new c(\"R'\"),87:new c(\"B\"),79:new c(\"B'\"),83:new c(\"D\"),76:new c(\"D'\"),68:new c(\"L\"),69:new c(\"L'\"),74:new c(\"U\"),70:new c(\"U'\"),72:new c(\"F\"),71:new c(\"F'\"),78:new c(\"x'\"),67:new c(\"l\"),82:new c(\"l'\"),85:new c(\"r\"),77:new c(\"r'\"),88:new c(\"d\"),188:new c(\"d'\"),84:new c(\"x\"),89:new c(\"x\"),66:new c(\"x'\"),186:new c(\"y\"),59:new c(\"y\"),65:new c(\"y'\"),80:new c(\"z\"),81:new c(\"z'\"),90:new c(\"M'\"),190:new c(\"M'\")}});var Ha=U(()=>{});var Ya=U(()=>{Gt()});var Ae=U(()=>{Gt();Ai();Ei();qa();Va();Vo();Tt();Ha();Ya();xi();ct()});function jn(e,t,r){let n={},o=e;for(let l in o.orbits){let i=o.orbits[l],s=t[l],u=r[l];if(qn(i.orientations,u))n[l]=s;else if(qn(i.orientations,s))n[l]=u;else{let a=new Array(i.numPieces);if(i.orientations===1){for(let f=0;f<i.numPieces;f++)a[f]=s.permutation[u.permutation[f]];n[l]={permutation:a,orientation:s.orientation}}else{let f=new Array(i.numPieces);for(let g=0;g<i.numPieces;g++)f[g]=(s.orientation[u.permutation[g]]+u.orientation[g])%i.orientations,a[g]=s.permutation[u.permutation[g]];n[l]={permutation:a,orientation:f}}}}return n}function ki(e,t,r){let n={},o=e;for(let l in o.orbits){let i=o.orbits[l],s=t[l],u=r[l];if(qn(i.orientations,u))n[l]=s;else{let a=new Array(i.numPieces);if(i.orientations===1){for(let f=0;f<i.numPieces;f++)a[f]=s.pieces[u.permutation[f]];n[l]={pieces:a,orientation:s.orientation}}else{let f=new Array(i.numPieces);for(let g=0;g<i.numPieces;g++)f[g]=(s.orientation[u.permutation[g]]+u.orientation[g])%i.orientations,a[g]=s.pieces[u.permutation[g]];n[l]={pieces:a,orientation:f}}}}return n}var Yo=U(()=>{Vn()});var Be,Zo=U(()=>{Yo();Xo();Be=class{constructor(t,r){this.kpuzzle=t;this.stateData=r}static fromTransformation(t){let r=ki(t.kpuzzle.definition,t.kpuzzle.definition.startStateData,t.transformationData);return new Be(t.kpuzzle,r)}apply(t){return this.applyTransformation(this.kpuzzle.toTransformation(t))}applyTransformation(t){if(t.isIdentityTransformation())return new Be(this.kpuzzle,this.stateData);let r=ki(this.kpuzzle.definition,this.stateData,t.transformationData);return new Be(this.kpuzzle,r)}applyMove(t){return this.applyTransformation(this.kpuzzle.moveToTransformation(t))}applyAlg(t){return this.applyTransformation(this.kpuzzle.algToTransformation(t))}experimentalToTransformation(){if(!this.kpuzzle.canConvertStateToUniqueTransformation())return null;let t={};for(let[r,n]of Object.entries(this.stateData)){let o={permutation:n.pieces,orientation:n.orientation};t[r]=o}return new wt(this.kpuzzle,t)}}});var Jo,hr,wt,Xo=U(()=>{Vn();Yo();Zo();hr=class{constructor(t,r){this.kpuzzle=t;this.transformationData=r;ie(this,Jo,void 0)}invert(){return new hr(this.kpuzzle,zi(this.kpuzzle,this.transformationData))}isIdentityTransformation(){return R(this,Jo)??$(this,Jo,this.isIdentical(this.kpuzzle.identityTransformation()))}isIdentical(t){return Za(this.kpuzzle,this.transformationData,t.transformationData)}apply(t){return this.applyTransformation(this.kpuzzle.toTransformation(t))}applyTransformation(t){if(this.kpuzzle!==t.kpuzzle)throw new Error(`Tried to apply a transformation for a KPuzzle (${t.kpuzzle.name()}) to a different KPuzzle (${this.kpuzzle.name()}).`);return this.isIdentityTransformation()?new hr(this.kpuzzle,t.transformationData):t.isIdentityTransformation()?new hr(this.kpuzzle,this.transformationData):new hr(this.kpuzzle,jn(this.kpuzzle.definition,this.transformationData,t.transformationData))}applyMove(t){return this.applyTransformation(this.kpuzzle.moveToTransformation(t))}applyAlg(t){return this.applyTransformation(this.kpuzzle.algToTransformation(t))}toKState(){return Be.fromTransformation(this)}repetitionOrder(){return Xa(this.kpuzzle.definition,this)}selfMultiply(t){return new hr(this.kpuzzle,Jt(this.kpuzzle,this.transformationData,t))}},wt=hr;Jo=new WeakMap});function qn(e,t){let{permutation:r}=t,n=r.length;for(let o=0;o<n;o++)if(r[o]!==o)return!1;if(e>1){let{orientation:o}=t;for(let l=0;l<n;l++)if(o[l]!==0)return!1}return!0}function i1(e,t,r,n={}){for(let o=0;o<e.numPieces;o++)if(!n?.ignoreOrientation&&t.orientation[o]!==r.orientation[o]||!n?.ignorePermutation&&t.permutation[o]!==r.permutation[o])return!1;return!0}function Za(e,t,r){for(let[n,o]of Object.entries(e.definition.orbits))if(!i1(o,t[n],r[n]))return!1;return!0}function zi(e,t){let r={};for(let n in e.definition.orbits){let o=e.definition.orbits[n],l=t[n];if(qn(o.orientations,l))r[n]=l;else if(o.orientations===1){let i=new Array(o.numPieces);for(let s=0;s<o.numPieces;s++)i[l.permutation[s]]=s;r[n]={permutation:i,orientation:l.orientation}}else{let i=new Array(o.numPieces),s=new Array(o.numPieces);for(let u=0;u<o.numPieces;u++){let a=l.permutation[u];i[a]=u,s[a]=(o.orientations-l.orientation[u]+o.orientations)%o.orientations}r[n]={permutation:i,orientation:s}}}return r}function Jt(e,t,r){if(r===1)return t;if(r<0)return Jt(e,zi(e,t),-r);if(r===0){let{transformationData:l}=e.identityTransformation();return l}let n=t;r!==2&&(n=Jt(e,t,Math.floor(r/2)));let o=jn(e.definition,n,n);return r%2==0?o:jn(e.definition,t,o)}function Ci(e,t){return t?Ci(t,e%t):e}function Xa(e,t){let r=1;for(let n in e.orbits){let o=e.orbits[n],l=t.transformationData[n],i=new Array(o.numPieces);for(let s=0;s<o.numPieces;s++)if(!i[s]){let u=s,a=0,f=0;for(;i[u]=!0,a=a+l.orientation[u],f=f+1,u=l.permutation[u],u!==s;);a!==0&&(f=f*o.orientations/Ci(o.orientations,a)),r=r*f/Ci(r,f)}}return r}var Ja,$a,e0,Vn=U(()=>{Ae();Yo();Xo();Ja=class extends Hr{traverseAlg(t,r){let n=r.identityTransformation();for(let o of t.units())n=n.applyTransformation(this.traverseUnit(o,r));return n}traverseGrouping(t,r){let n=this.traverseAlg(t.alg,r);return new wt(r,Jt(r,n.transformationData,t.amount))}traverseMove(t,r){return r.moveToTransformation(t)}traverseCommutator(t,r){let n=this.traverseAlg(t.A,r),o=this.traverseAlg(t.B,r);return n.applyTransformation(o).applyTransformation(n.invert()).applyTransformation(o.invert())}traverseConjugate(t,r){let n=this.traverseAlg(t.A,r),o=this.traverseAlg(t.B,r);return n.applyTransformation(o).applyTransformation(n.invert())}traversePause(t,r){return r.identityTransformation()}traverseNewline(t,r){return r.identityTransformation()}traverseLineComment(t,r){return r.identityTransformation()}},$a=new Ja,e0=$a.traverseAlg.bind($a)});function s1(e){let t=r0.get(e);if(t)return t;let r=new Array(e),n=new Array(e);for(let l=0;l<e;l++)r[l]=l,n[l]=0;let o={permutation:r,orientation:n};return t0&&(Object.freeze(r),Object.freeze(n),Object.freeze(o)),r0.set(e,o),o}function n0(e){let t={};for(let[r,n]of Object.entries(e.orbits))t[r]=s1(n.numPieces);return t0&&Object.freeze(t),t}function o0(e,t){let r=t.quantum.toString(),n=e.definition.moves[r];if(n)return Jt(e,n,t.amount);let o=e.definition.moves[t.toString()];if(o)return o;let l=e.definition.moves[t.invert().toString()];if(l)return Jt(e,l,-1);throw new Error(`Invalid move for KPuzzle (${e.name()}): ${t}`)}var t0,r0,l0=U(()=>{Vn();t0=!1,r0=new Map});var $o,Zr,el,Ie,Pi=U(()=>{Ae();Vn();l0();Zo();Xo();Ie=class{constructor(t,r){this.definition=t;ie(this,$o,null);ie(this,Zr,new Map);ie(this,el,void 0);this.experimentalPGNotation=r?.experimentalPGNotation}name(){return this.definition.name}identityTransformation(){return new wt(this,R(this,$o)??$(this,$o,n0(this.definition)))}moveToTransformation(t){typeof t==\"string\"&&(t=new c(t));let r=t.toString(),n=R(this,Zr).get(r);if(n)return new wt(this,n);if(this.experimentalPGNotation){let l=this.experimentalPGNotation.lookupMove(t);if(!l)throw new Error(`could not map to internal move: ${t}`);return R(this,Zr).set(r,l),new wt(this,l)}let o=o0(this,t);return R(this,Zr).set(r,o),new wt(this,o)}algToTransformation(t){return typeof t==\"string\"&&(t=new k(t)),e0(t,this)}toTransformation(t){return typeof t==\"string\"?this.algToTransformation(t):t?.is?.(k)?this.algToTransformation(t):t?.is?.(c)?this.moveToTransformation(t):t}startState(){return new Be(this,this.definition.startStateData)}canConvertStateToUniqueTransformation(){return R(this,el)??$(this,el,(()=>{for(let[t,r]of Object.entries(this.definition.orbits)){let n=new Array(r.numPieces).fill(!1);for(let o of this.definition.startStateData[t].pieces)n[o]=!0;for(let o of n)if(!o)return!1}return!0})())}};$o=new WeakMap,Zr=new WeakMap,el=new WeakMap});var i0=U(()=>{});var pe,s0=U(()=>{pe={name:\"3x3x3\",orbits:{EDGES:{numPieces:12,orientations:2},CORNERS:{numPieces:8,orientations:3},CENTERS:{numPieces:6,orientations:4}},startStateData:{EDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{pieces:[0,1,2,3,4,5],orientation:[0,0,0,0,0,0]}},moves:{U:{EDGES:{permutation:[1,2,3,0,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[1,0,0,0,0,0]}},y:{EDGES:{permutation:[1,2,3,0,5,6,7,4,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,3]}},x:{EDGES:{permutation:[4,8,0,9,6,10,2,11,5,7,1,3],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,3,0,1,2,2]}},L:{EDGES:{permutation:[0,1,2,11,4,5,6,9,8,3,10,7],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,1,0,0,0,0]}},F:{EDGES:{permutation:[9,1,2,3,8,5,6,7,0,4,10,11],orientation:[1,0,0,0,1,0,0,0,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,1,0,0,0]}},R:{EDGES:{permutation:[0,8,2,3,4,10,6,7,5,9,1,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,1,0,0]}},B:{EDGES:{permutation:[0,1,10,3,4,5,11,7,8,9,6,2],orientation:[0,0,1,0,0,0,1,0,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,1,0]}},D:{EDGES:{permutation:[0,1,2,3,7,4,5,6,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,0,1]}},z:{EDGES:{permutation:[9,3,11,7,8,1,10,5,0,4,2,6],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,3,1]}},M:{EDGES:{permutation:[2,1,6,3,0,5,4,7,8,9,10,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,0,0,0,2,0]}},E:{EDGES:{permutation:[0,1,2,3,4,5,6,7,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,0]}},S:{EDGES:{permutation:[0,3,2,7,4,1,6,5,8,9,10,11],orientation:[0,1,0,1,0,1,0,1,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,0,1,0,1]}},u:{EDGES:{permutation:[1,2,3,0,4,5,6,7,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,0]}},l:{EDGES:{permutation:[2,1,6,11,0,5,4,9,8,3,10,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,0,2,0]}},f:{EDGES:{permutation:[9,3,2,7,8,1,6,5,0,4,10,11],orientation:[1,1,0,1,1,1,0,1,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,0,1]}},r:{EDGES:{permutation:[4,8,0,3,6,10,2,7,5,9,1,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,0,0,1,2,2]}},b:{EDGES:{permutation:[0,5,10,1,4,7,11,3,8,9,6,2],orientation:[0,1,1,1,0,1,1,1,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,0,3,1,3]}},d:{EDGES:{permutation:[0,1,2,3,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,1]}}}};pe.moves.Uw=pe.moves.u;pe.moves.Lw=pe.moves.l;pe.moves.Fw=pe.moves.f;pe.moves.Rw=pe.moves.r;pe.moves.Bw=pe.moves.b;pe.moves.Dw=pe.moves.d;pe.moves.Rv=pe.moves.x;pe.moves.Uv=pe.moves.y;pe.moves.Fv=pe.moves.z;pe.moves.Lv={EDGES:{permutation:[2,10,6,11,0,8,4,9,1,3,5,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,3,2,0]}};pe.moves.Dv={EDGES:{permutation:[3,0,1,2,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[3,0,0,0,0,1]}};pe.moves.Bv={EDGES:{permutation:[8,5,10,1,9,7,11,3,4,0,6,2],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,3,3,1,3]}}});var Mi,Ve=U(()=>{Pi();i0();Zo();Pi();s0();Mi=new Ie(pe)});var a0=U(()=>{Ve()});function R1(e){switch(e){case S.Regular:return a1;case S.Dim:return m1;case S.Ignored:return u1;case S.OrientationStickers:return f1;case S.Invisible:return g1;case S.IgnoreNonPrimary:return L1;case S.PermuteNonPrimary:return B1;case S.Ignoriented:return c1;case S.OrientationWithoutPermutation:return p1}}var S,Xr,vt,Ne,Jr,tl,yr,a1,u1,f1,g1,L1,B1,m1,c1,p1,Hn,Yn,Zn=U(()=>{(function(a){a.Regular=\"Regular\",a.Dim=\"Dim\",a.Ignored=\"Ignored\",a.OrientationStickers=\"OrientationStickers\",a.Invisible=\"Invisible\",a.Ignoriented=\"Ignoriented\",a.IgnoreNonPrimary=\"IgnoreNonPrimary\",a.PermuteNonPrimary=\"PermuteNonPrimary\",a.OrientationWithoutPermutation=\"OrientationWithoutPermutation\"})(S||(S={}));Xr=class{constructor(t,r){this.stickerings=new Map;for(let[n,o]of Object.entries(t.definition.orbits))this.stickerings.set(n,new Array(o.numPieces).fill(r))}},vt=\"regular\",Ne=\"ignored\",Jr=\"oriented\",tl=\"invisible\",yr=\"dim\",a1={facelets:[vt,vt,vt,vt,vt]},u1={facelets:[Ne,Ne,Ne,Ne,Ne]},f1={facelets:[Jr,Jr,Jr,Jr,Jr]},g1={facelets:[tl,tl,tl,tl]},L1={facelets:[vt,Ne,Ne,Ne,Ne]},B1={facelets:[yr,vt,vt,vt,vt]},m1={facelets:[yr,yr,yr,yr,yr]},c1={facelets:[yr,Ne,Ne,Ne,Ne]},p1={facelets:[Jr,Ne,Ne,Ne,Ne]};Hn=class extends Xr{constructor(t){super(t,S.Regular)}set(t,r){for(let[n,o]of this.stickerings.entries())for(let l=0;l<o.length;l++)t.stickerings.get(n)[l]&&(o[l]=r);return this}toAppearance(){let t={orbits:{}};for(let[r,n]of this.stickerings.entries()){let o=[],l={pieces:o};t.orbits[r]=l;for(let i of n)o.push(R1(i))}return t}},Yn=class{constructor(t){this.kpuzzle=t}and(t){let r=new Xr(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!0;for(let i of t)if(!i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!1;continue e}}}return r}or(t){let r=new Xr(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!1;for(let i of t)if(i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!0;continue e}}}return r}not(t){let r=new Xr(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits))for(let l=0;l<o.numPieces;l++)r.stickerings.get(n)[l]=!t.stickerings.get(n)[l];return r}all(){return this.and(this.moves([]))}move(t){let r=this.kpuzzle.moveToTransformation(t),n=new Xr(this.kpuzzle,!1);for(let[o,l]of Object.entries(this.kpuzzle.definition.orbits))for(let i=0;i<l.numPieces;i++)(r.transformationData[o].permutation[i]!==i||r.transformationData[o].orientation[i]!==0)&&(n.stickerings.get(o)[i]=!0);return n}moves(t){return t.map(r=>this.move(r))}}});function D1(e){(async()=>{u0=e;let t=Array.from(document.body.querySelectorAll(\"twisty-player\"));console.log(`Setting the custom stickering for ${t.length} players!`);let r=[];for(let n of t)r.push((async()=>{let o=await n.experimentalModel.stickeringProp.get();n.experimentalStickering=o===\"experimental-global-custom-1\"?\"experimental-global-custom-2\":\"experimental-global-custom-1\"})());await Promise.all(r),console.log(\"Success!\")})()}function f0(e,t){u0(e,t)}var u0,g0=U(()=>{Zn();u0=()=>{};globalThis.location&&new URL(location.href).searchParams.get(\"global-custom-stickerer\")===\"true\"&&(window.setGlobalCustomStickerer=D1,window.PieceStickering=S,console.log(\"Global custom stickerer enabled! (using: global-custom-stickerer=true)\"),console.log(\"Look here for inspiration:\",\"https://github.com/cubing/cubing.js/blob/81b5cab3e27d8defb39dd1e0a10bc9e8ba894d26/src/cubing/puzzles/stickerings/cube-stickerings.ts#L67\"))});async function Dt(e,t){let r=await e.kpuzzle(),n=new Hn(r),o=new Yn(r),l=()=>o.move(\"U\"),i=()=>o.or(o.moves([\"U\",\"D\"])),s=()=>o.not(i()),u=()=>o.or(o.moves([\"L\",\"R\"])),a=()=>o.not(u()),f=()=>o.or(o.moves([\"F\",\"B\"])),g=()=>o.not(f()),L=()=>o.not(l()),B=()=>o.and([l(),a(),g()]),p=()=>o.and([o.and(o.moves([\"F\",\"R\"])),o.not(i())]),m=()=>o.and(o.moves([\"D\",\"R\",\"F\"])),F=()=>o.or([m(),p()]),A=()=>o.or([o.and([a(),s()]),o.and([a(),g()]),o.and([s(),g()])]),b=()=>o.or([o.and([a(),i(),f()]),o.and([s(),u(),f()]),o.and([g(),i(),u()])]),h=()=>o.not(o.or([A(),b()])),C=()=>o.or([a(),o.and([l(),b()])]);function E(){n.set(L(),S.Dim)}function j(){n.set(l(),S.PermuteNonPrimary),n.set(B(),S.Dim)}function te(){n.set(l(),S.IgnoreNonPrimary),n.set(B(),S.Regular)}function I(){n.set(l(),S.Ignoriented),n.set(B(),S.Dim)}switch(t){case\"full\":break;case\"PLL\":E(),j();break;case\"CLS\":E(),n.set(o.and(o.moves([\"D\",\"R\",\"F\"])),S.Regular),n.set(l(),S.Ignoriented),n.set(o.and([l(),h()]),S.IgnoreNonPrimary);break;case\"OLL\":E(),te();break;case\"COLL\":E(),j(),n.set(o.and([l(),h()]),S.Regular);break;case\"OCLL\":E(),I(),n.set(o.and([l(),h()]),S.IgnoreNonPrimary);break;case\"CLL\":E(),n.set(o.not(o.and([h(),l()])),S.Dim);break;case\"ELL\":E(),n.set(l(),S.Dim),n.set(o.and([l(),b()]),S.Regular);break;case\"ELS\":E(),te(),n.set(o.and([l(),h()]),S.Ignored),n.set(p(),S.Regular),n.set(m(),S.Ignored);break;case\"LL\":E();break;case\"F2L\":n.set(l(),S.Ignored);break;case\"ZBLL\":E(),n.set(l(),S.PermuteNonPrimary),n.set(B(),S.Dim),n.set(o.and([l(),h()]),S.Regular);break;case\"ZBLS\":E(),n.set(F(),S.Regular),te(),n.set(o.and([l(),h()]),S.Ignored);break;case\"WVLS\":case\"VLS\":E(),n.set(F(),S.Regular),te();break;case\"LS\":E(),n.set(F(),S.Regular),n.set(l(),S.Ignored),n.set(B(),S.Dim);break;case\"EO\":n.set(h(),S.Ignored),n.set(b(),S.OrientationWithoutPermutation);break;case\"EOline\":n.set(h(),S.Ignored),n.set(b(),S.OrientationWithoutPermutation),n.set(o.and(o.moves([\"D\",\"M\"])),S.Regular);break;case\"EOcross\":n.set(b(),S.OrientationWithoutPermutation),n.set(o.move(\"D\"),S.Regular),n.set(h(),S.Ignored);break;case\"CMLL\":n.set(L(),S.Dim),n.set(C(),S.Ignored),n.set(o.and([l(),h()]),S.Regular);break;case\"L6E\":n.set(o.not(C()),S.Dim);break;case\"L6EO\":n.set(o.not(C()),S.Dim),n.set(C(),S.OrientationWithoutPermutation),n.set(o.and([A(),i()]),S.OrientationStickers);break;case\"Daisy\":n.set(o.all(),S.Ignored),n.set(A(),S.Dim),n.set(o.and([o.move(\"D\"),A()]),S.Regular),n.set(o.and([o.move(\"U\"),b()]),S.IgnoreNonPrimary);break;case\"Cross\":n.set(o.all(),S.Ignored),n.set(A(),S.Dim),n.set(o.and([o.move(\"D\"),A()]),S.Regular),n.set(o.and([o.move(\"D\"),b()]),S.Regular);break;case\"2x2x2\":n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),S.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),A()]),S.Dim);break;case\"2x2x3\":n.set(o.all(),S.Dim),n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),S.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),A()]),S.Dim),n.set(o.and([o.move(\"F\"),o.not(o.or(o.moves([\"U\",\"R\"])))]),S.Regular);break;case\"Void Cube\":n.set(A(),S.Invisible);break;case\"picture\":case\"invisible\":n.set(o.all(),S.Invisible);break;case\"centers-only\":n.set(o.not(A()),S.Ignored);break;case\"experimental-global-custom-1\":case\"experimental-global-custom-2\":f0(n,o);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),S.Dim)}return n.toAppearance()}async function $r(){return[\"full\",\"PLL\",\"CLS\",\"OLL\",\"COLL\",\"OCLL\",\"ELL\",\"ELS\",\"LL\",\"F2L\",\"ZBLL\",\"ZBLS\",\"WVLS\",\"VLS\",\"LS\",\"EO\",\"EOline\",\"EOcross\",\"CMLL\",\"L6E\",\"L6EO\",\"Daisy\",\"Cross\",\"2x2x2\",\"2x2x3\",\"Void Cube\",\"picture\",\"invisible\",\"centers-only\",\"experimental-global-custom-1\",\"experimental-global-custom-2\"]}var en=U(()=>{Zn();g0()});function $t(e){let t=null;return()=>t??(t=e())}var Xn=U(()=>{});var Jn,L0=U(()=>{Jn=class{constructor(t,r){this.facenames=t;this.prefixFree=!0;this.gripnames=[];r&&(this.gripnames=r);for(let n=0;this.prefixFree&&n<t.length;n++)for(let o=0;this.prefixFree&&o<t.length;o++)n!==o&&t[n].startsWith(t[o])&&(this.prefixFree=!1)}setGripNames(t){this.gripnames=t}splitByFaceNames(t){let r=[],n=0;for(;n<t.length;){n>0&&n<t.length&&t[n]===\"_\"&&n++;let o=-1;for(let l=0;l<this.facenames.length;l++)t.substr(n).startsWith(this.facenames[l])&&(o<0||this.facenames[l].length>this.facenames[o].length)&&(o=l);if(o>=0)r.push(o),n+=this.facenames[o].length;else throw new Error(\"Could not split \"+t+\" into face names.\")}return r}joinByFaceIndices(t){let r=\"\",n=[];for(let o=0;o<t.length;o++)n.push(r),n.push(this.facenames[t[o]]),this.prefixFree||(r=\"_\");return n.join(\"\")}spinmatch(t,r){if(t===r)return!0;try{let n=this.splitByFaceNames(t),o=this.splitByFaceNames(r);if(n.length!==o.length&&n.length<3)return!1;for(let l=0;l<n.length;l++){for(let s=0;s<l;s++)if(n[l]===n[s])return!1;let i=!1;for(let s=0;s<o.length;s++)if(n[l]===o[s]){i=!0;break}if(!i)return!1}return!0}catch(n){return!1}}unswizzle(t){(t.endsWith(\"v\")||t.endsWith(\"w\"))&&t[0]<=\"Z\"&&(t=t.slice(0,t.length-1));let r=t.toUpperCase();for(let n=0;n<this.gripnames.length;n++){let o=this.gripnames[n];if(this.spinmatch(r,o))return o}return t}}});var tn,B0=U(()=>{tn=class{notationToInternal(t){return t}notationToExternal(t){return t}}});var rl,m0=U(()=>{Ae();rl=class{constructor(t,r){this.child=t;this.sw=r}notationToInternal(t){return t.family===\"T\"&&t.innerLayer===void 0&&t.outerLayer===void 0?new c(new G(\"FLRv\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToInternal(t)}notationToExternal(t){let r=t.family;return r.length>0&&r[r.length-1]===\"v\"&&(r=r.substring(0,r.length-1)),this.sw.spinmatch(r,\"FLUR\")?new c(new G(\"T\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToExternal(t)}}});var $n,c0=U(()=>{Ae();$n=class{constructor(t,r){this.internalNames=t;this.externalNames=r}convertString(t,r,n){let o=\"\";(t.endsWith(\"v\")||t.endsWith(\"v\"))&&t<=\"_\"&&(o=t.slice(t.length-1),t=t.slice(0,t.length-1));let l=t.toUpperCase(),i=!1;return t!==l&&(i=!0,t=l),t=n.joinByFaceIndices(r.splitByFaceNames(t)),i&&(t=t.toLowerCase()),t+o}convert(t,r,n){let o=t.family,l=this.convertString(o,r,n);return o===l?t:new c(new G(l,t.innerLayer,t.outerLayer),t.amount)}notationToInternal(t){return this.convert(t,this.externalNames,this.internalNames)}notationToExternal(t){return this.convert(t,this.internalNames,this.externalNames)}}});var nl,p0=U(()=>{Ae();nl=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer===void 0&&t.outerLayer===void 0){if(Math.abs(t.amount)===1){if(t.family===\"R++\")return new c(new G(\"L\",3,2),-2*t.amount);if(t.family===\"R--\")return new c(new G(\"L\",3,2),2*t.amount);if(t.family===\"D++\")return new c(new G(\"U\",3,2),-2*t.amount);if(t.family===\"D--\")return new c(new G(\"U\",3,2),2*t.amount);if(t.family===\"R_PLUSPLUS_\")return new c(new G(\"L\",3,2),-2*t.amount);if(t.family===\"D_PLUSPLUS_\")return new c(new G(\"U\",3,2),-2*t.amount)}if(t.family===\"y\")return new c(\"Uv\",t.amount)}return this.child.notationToInternal(t)}notationToExternal(t){return t.family===\"Uv\"?new c(new G(\"y\",t.innerLayer,t.outerLayer),t.amount):t.family===\"Dv\"?new c(\"y\",-t.amount):this.child.notationToExternal(t)}}});var ol,R0=U(()=>{Ae();ol=class{constructor(t){this.slices=t}notationToInternal(t){let r=t.family;return!t.innerLayer&&!t.outerLayer&&(r===\"x\"?t=new c(\"Rv\",t.amount):r===\"y\"?t=new c(\"Uv\",t.amount):r===\"z\"&&(t=new c(\"Fv\",t.amount)),(this.slices&1)==1&&(r===\"E\"?t=new c(new G(\"D\",(this.slices+1)/2),t.amount):r===\"M\"?t=new c(new G(\"L\",(this.slices+1)/2),t.amount):r===\"S\"&&(t=new c(new G(\"F\",(this.slices+1)/2),t.amount))),this.slices>2&&(r===\"e\"?t=new c(new G(\"D\",this.slices-1,2),t.amount):r===\"m\"?t=new c(new G(\"L\",this.slices-1,2),t.amount):r===\"s\"&&(t=new c(new G(\"F\",this.slices-1,2),t.amount)))),t}notationToExternal(t){let r=t.family;if(!t.innerLayer&&!t.outerLayer){if(r===\"Rv\")return new c(\"x\",t.amount);if(r===\"Uv\")return new c(\"y\",t.amount);if(r===\"Fv\")return new c(\"z\",t.amount);if(r===\"Lv\")return new c(\"x\",-t.amount);if(r===\"Dv\")return new c(\"y\",-t.amount);if(r===\"Bv\")return new c(\"z\",-t.amount)}return t}}});var d1,F1,D0,d0,F0,eo,ll,A0=U(()=>{Ae();d1={U:\"frl\",L:\"fld\",R:\"fdr\",B:\"dlr\",u:\"FRL\",l:\"FLD\",r:\"FDR\",b:\"DLR\",Uv:\"FRLv\",Lv:\"FLDv\",Rv:\"FDRv\",Bv:\"DLRv\",D:\"D\",F:\"F\",BL:\"L\",BR:\"R\"},F1={U:\"FRL\",L:\"FLD\",R:\"FDR\",B:\"DLR\",u:\"frl\",l:\"fld\",r:\"fdr\",b:\"dlr\",Uv:\"FRLv\",Lv:\"FLDv\",Rv:\"FDRv\",Bv:\"DLRv\",D:\"D\",F:\"F\",BL:\"L\",BR:\"R\",d:\"d\",f:\"f\",bl:\"l\",br:\"r\"},D0={U:\"FRL\",L:\"FLD\",R:\"FDR\",B:\"DLR\"},d0=new G(\"y\"),F0=new G(\"Dv\"),eo=class{constructor(t){this.child=t;this.wcaHack=!1;this.map=d1}notationToInternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){let n=D0[t.family];if(n)return new c(new G(n,t.innerLayer,t.outerLayer),t.amount)}let r=this.map[t.family];return r?new c(new G(r,t.innerLayer,t.outerLayer),t.amount):d0.isIdentical(t.quantum)?new c(F0,-t.amount):null}notationToExternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){for(let[r,n]of Object.entries(D0))if(this.child.spinmatch(t.family,n))return new c(new G(r,t.innerLayer,t.outerLayer),t.amount)}for(let[r,n]of Object.entries(this.map))if(this.child.spinmatch(t.family,n))return new c(new G(r,t.innerLayer,t.outerLayer),t.amount);return F0.isIdentical(t.quantum)?new c(d0,-t.amount):null}},ll=class extends eo{constructor(t){super(t);this.map=F1}}});var h0,y0,U0,b0,S0,x0,w0,il,v0=U(()=>{Ae();h0={U:\"UBL\",UL:\"ULF\",F:\"UFR\",UR:\"URB\",B:\"DBL\",D:\"DFR\",L:\"DLF\",R:\"DRB\",Uv:\"UBLv\",ULv:\"ULFv\",Fv:\"UFRv\",URv:\"URBv\",Bv:\"DBLv\",Dv:\"DFRv\",Lv:\"DLFv\",Rv:\"DRBv\"},y0=new G(\"x\"),U0=new G(\"Rv\"),b0=new G(\"y\"),S0=new G(\"Uv\"),x0=new G(\"z\"),w0=new G(\"Fv\"),il=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer||t.outerLayer)return null;let r=h0[t.family];return r?new c(new G(r,t.outerLayer,t.innerLayer),t.amount):y0.isIdentical(t.quantum)?new c(U0,t.amount):b0.isIdentical(t.quantum)?new c(S0,t.amount):x0.isIdentical(t.quantum)?new c(w0,t.amount):null}notationToExternal(t){for(let[r,n]of Object.entries(h0))if(this.child.spinmatch(t.family,n))return new c(new G(r,t.innerLayer,t.outerLayer),t.amount);return U0.isIdentical(t.quantum)?new c(y0,t.amount):S0.isIdentical(t.quantum)?new c(b0,t.amount):w0.isIdentical(t.quantum)?new c(x0,t.amount):null}}});var Gi=U(()=>{B0();m0();c0();p0();R0();A0();v0()});function E0(e){let t=0,r={};for(;t<e.length&&e[t][0]===\"-\";){let o=e[t++];if(o===\"--rotations\")r.addRotations=!0;else if(o===\"--allmoves\")r.allMoves=!0;else if(o===\"--outerblockmoves\")r.outerBlockMoves=!0;else if(o===\"--vertexmoves\")r.vertexMoves=!0;else if(o===\"--nocorners\")r.includeCornerOrbits=!1;else if(o===\"--noedges\")r.includeEdgeOrbits=!1;else if(o===\"--noorientation\")r.fixedOrientation=!0;else if(o===\"--nocenters\")r.includeCenterOrbits=!1;else if(o===\"--omit\")r.excludeOrbits=e[t].split(\",\"),t++;else if(o===\"--moves\")r.moveList=e[t].split(\",\"),t++;else if(o===\"--optimize\")r.optimizeOrbits=!0;else if(o===\"--scramble\")r.scrambleAmount=100;else if(o===\"--fixcorner\")r.fixedPieceType=\"v\";else if(o===\"--fixedge\")r.fixedPieceType=\"e\";else if(o===\"--fixcenter\")r.fixedPieceType=\"f\";else if(o===\"--orientcenters\")r.orientCenters=!0;else if(o===\"--puzzleorientation\")r.puzzleOrientation=JSON.parse(e[t]),t++;else throw new Error(\"Bad option: \"+o)}return{puzzleDescription:to(e.slice(t).join(\" \")),options:r}}var Ti,Ii=U(()=>{sl();Ti=class{constructor(t={}){this.verbosity=0;this.allMoves=!1;this.vertexMoves=!1;this.addRotations=!1;this.moveList=null;this.fixedOrientation=!1;this.fixedPieceType=null;this.orientCenters=!1;this.includeCornerOrbits=!0;this.includeCenterOrbits=!0;this.includeEdgeOrbits=!0;this.excludeOrbits=[];this.optimizeOrbits=!1;this.grayCorners=!1;this.grayCenters=!1;this.grayEdges=!1;this.puzzleOrientation=null;this.puzzleOrientations=null;this.scrambleAmount=0;Object.assign(this,t)}}});function er(e){if(!Ni[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=0;Ni[e]=t}return Ni[e]}function Et(e){if(!Oi[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=r;Oi[e]=t}return Oi[e]}function k0(e){return new ft(Et(e))}function z0(e){let t=1;for(;e>1;)t*=e,e--;return t}function A1(e,t){if(e>t){let r=e;e=t,t=r}for(;e>0;){let r=t%e;t=e,e=r}return t}function _i(e,t){return e/A1(e,t)*t}var Ni,Oi,ft,al=U(()=>{Ni=[],Oi=[];ft=class{constructor(t){this.n=t.length,this.p=t}toString(){return\"Perm[\"+this.p.join(\" \")+\"]\"}mul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=t.p[this.p[n]];return new ft(r)}rmul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=this.p[t.p[n]];return new ft(r)}inv(){let t=Array(this.n);for(let r=0;r<this.n;r++)t[this.p[r]]=r;return new ft(t)}compareTo(t){for(let r=0;r<this.n;r++)if(this.p[r]!==t.p[r])return this.p[r]-t.p[r];return 0}toGap(){let t=new Array,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=new Array;for(let l=n;!r[l];l=this.p[l])o.push(1+l),r[l]=!0;t.push(\"(\"+o.join(\",\")+\")\")}return t.join(\"\")}order(){let t=1,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=0;for(let l=n;!r[l];l=this.p[l])o++,r[l]=!0;t=_i(t,o)}return t}}});function Wi(e,t){let r=c.fromString(t),n=e.notationToExternal(r);return n===null||r===n?t:n.toString()}function C0(e,t){let r=e.moveops.length;if(r>30)throw new Error(\"Canon info too big for bitmask\");let n=[],o=[];for(let i=0;i<r;i++){let s=e.moveops[i];n.push(s.order());let u=0;for(let a=0;a<r;a++){if(a===i)continue;let f=e.moveops[a];s.mul(f).equal(f.mul(s))&&(u|=1<<a)}o.push(u)}let l={};l[0]=1;for(let i=0;i<100;i++){let s=0,u={},a=0;for(let f in l){let g=+f,L=l[g];s+=L,a++;for(let B=0;B<n.length;B++)if((g>>B&1)==0&&(g&o[B]&(1<<B)-1)==0){let p=g&o[B]|1<<B;u[p]===void 0&&(u[p]=0),u[p]+=(n[B]-1)*L}}t(`${i}: canonseq ${s} states ${a}`),l=u}}var ro,h1,rn,dt,Nt,Ki,tr,nn,Qi,P0=U(()=>{Ae();Gi();al();ro=class{constructor(t,r){this.size=t;this.mod=r}reassemblySize(){return z0(this.size)*Math.pow(this.mod,this.size)}},h1=0;rn=class{constructor(t,r,n,o,l){this.orbitnames=t;this.orbitdefs=r;this.solved=n;this.movenames=o;this.moveops=l}transformToKTransformationData(t){let r={};for(let n=0;n<this.orbitnames.length;n++)r[this.orbitnames[n]]=t.orbits[n].toKPuzzle();return r}static transformToKTransformationData(t,r){let n={};for(let o=0;o<t.length;o++)n[t[o]]=r.orbits[o].toKPuzzle();return n}toKsolve(t,r=new tn){let n=[];n.push(\"Name \"+t),n.push(\"\");for(let o=0;o<this.orbitnames.length;o++)n.push(`Set ${this.orbitnames[o]} ${this.orbitdefs[o].size} ${this.orbitdefs[o].mod}`);n.push(\"\"),n.push(\"Solved\");for(let o=0;o<this.orbitnames.length;o++)this.solved.orbits[o].appendDefinition(n,this.orbitnames[o],!1,!1);n.push(\"End\");for(let o=0;o<this.movenames.length;o++){n.push(\"\");let l=Wi(r,this.movenames[o]),i=!1;l[l.length-1]===\"'\"&&(i=!0,l=l.substring(0,l.length-1)),n.push(\"Move \"+l);for(let s=0;s<this.orbitnames.length;s++)i?this.moveops[o].orbits[s].inv().appendDefinition(n,this.orbitnames[s],!0):this.moveops[o].orbits[s].appendDefinition(n,this.orbitnames[s],!0);n.push(\"End\")}return n}toKPuzzleDefinition(t){let r={},n={};for(let l=0;l<this.orbitnames.length;l++){r[this.orbitnames[l]]={numPieces:this.orbitdefs[l].size,orientations:this.orbitdefs[l].mod};let i=this.solved.orbits[l].toKPuzzle();n[this.orbitnames[l]]={pieces:i.permutation,orientation:i.orientation}}let o={};if(t)for(let l=0;l<this.movenames.length;l++)o[this.movenames[l]]=this.transformToKTransformationData(this.moveops[l]);return{name:`PG3D #${++h1}`,orbits:r,startStateData:n,moves:o}}optimize(){let t=[],r=[],n=[],o=[];for(let l=0;l<this.moveops.length;l++)o.push([]);for(let l=0;l<this.orbitdefs.length;l++){let i=this.orbitdefs[l].mod,s=this.orbitdefs[l].size,u=new Qi(s),a=new Array(this.orbitdefs[l].size);for(let B=0;B<s;B++)a[B]=!1;for(let B=0;B<this.moveops.length;B++)for(let p=0;p<s;p++)(this.moveops[B].orbits[l].perm[p]!==p||this.moveops[B].orbits[l].ori[p]!==0)&&(a[p]=!0,u.union(p,this.moveops[B].orbits[l].perm[p]));let f=!0;if(i>1){f=!1;let B=new Qi(this.orbitdefs[l].size*i);for(let p=0;p<this.moveops.length;p++)for(let m=0;m<s;m++)if(this.moveops[p].orbits[l].perm[m]!==m||this.moveops[p].orbits[l].ori[m]!==0)for(let F=0;F<i;F++)B.union(m*i+F,this.moveops[p].orbits[l].perm[m]*i+(F+this.moveops[p].orbits[l].ori[m])%i);for(let p=0;!f&&p<s;p++)for(let m=1;m<i;m++)B.find(p*i)===B.find(p*i+m)&&(f=!0);for(let p=0;!f&&p<s;p++)for(let m=0;m<p;m++)this.solved.orbits[l].perm[p]===this.solved.orbits[l].perm[m]&&(f=!0)}let g=-1,L=!1;for(let B=0;B<this.orbitdefs[l].size;B++)if(a[B]){let p=u.find(B);g<0?g=p:g!==p&&(L=!0)}for(let B=0;B<this.orbitdefs[l].size;B++){if(!a[B]||u.find(B)!==B)continue;let m=[],F=[],A=0;for(let b=0;b<this.orbitdefs[l].size;b++)u.find(b)===B&&(m[A]=b,F[b]=A,A++);if(L?t.push(`${this.orbitnames[l]}_p${B}`):t.push(this.orbitnames[l]),f){r.push(new ro(A,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(m,A));for(let b=0;b<this.moveops.length;b++)o[b].push(this.moveops[b].orbits[l].remap(m,F,A))}else{r.push(new ro(A,1)),n.push(this.solved.orbits[l].remapVS(m,A).killOri());for(let b=0;b<this.moveops.length;b++)o[b].push(this.moveops[b].orbits[l].remap(m,F,A).killOri())}}}return new rn(t,r,new nn(n),this.movenames,o.map(l=>new tr(l)))}scramble(t){let r=[];for(let o=0;o<this.moveops.length;o++)r[o]=this.moveops[o];for(let o=0;o<r.length;o++){let l=Math.floor(Math.random()*r.length),i=r[o];r[o]=r[l],r[l]=i}t<r.length&&(t=r.length);for(let o=0;o<t;o++){let l=Math.floor(Math.random()*r.length),i=Math.floor(Math.random()*r.length),s=Math.floor(Math.random()*this.moveops.length);r[l]=r[l].mul(r[i]).mul(this.moveops[s]),Math.random()<.1&&(r[l]=r[l].mul(this.moveops[s]))}let n=r[0];for(let o=1;o<r.length;o++)n=n.mul(r[o]);this.solved=this.solved.mul(n)}reassemblySize(){let t=1;for(let r=0;r<this.orbitdefs.length;r++)t*=this.orbitdefs[r].reassemblySize();return t}},dt=class{constructor(t,r,n){this.perm=t;this.ori=r;this.orimod=n}static e(t,r){return new dt(Et(t),er(t),r)}mul(t){let r=this.perm.length,n=new Array(r);if(this.orimod===1){for(let o=0;o<r;o++)n[o]=this.perm[t.perm[o]];return new dt(n,this.ori,this.orimod)}else{let o=new Array(r);for(let l=0;l<r;l++)n[l]=this.perm[t.perm[l]],o[l]=(this.ori[t.perm[l]]+t.ori[l])%this.orimod;return new dt(n,o,this.orimod)}}inv(){let t=this.perm.length,r=new Array(t),n=new Array(t);for(let o=0;o<t;o++)r[this.perm[o]]=o,n[this.perm[o]]=(this.orimod-this.ori[o])%this.orimod;return new dt(r,n,this.orimod)}equal(t){let r=this.perm.length;for(let n=0;n<r;n++)if(this.perm[n]!==t.perm[n]||this.ori[n]!==t.ori[n])return!1;return!0}killOri(){let t=this.perm.length;for(let r=0;r<t;r++)this.ori[r]=0;return this.orimod=1,this}toPerm(){let t=this.orimod;if(t===1)return new ft(this.perm);let r=this.perm.length,n=new Array(r*t);for(let o=0;o<r;o++)for(let l=0;l<t;l++)n[o*t+l]=t*this.perm[o]+(this.ori[o]+l)%t;return new ft(n)}identicalPieces(){let t=[],r=this.perm.length,n=[];for(let o=0;o<r;o++){let l=this.perm[o];if(t[l]===void 0){let i=[o];t[l]=!0;for(let s=o+1;s<r;s++)this.perm[s]===l&&i.push(s);n.push(i)}}return n}order(){return this.toPerm().order()}isIdentity(){let t=this.perm.length;if(this.perm===Et(t)&&this.ori===er(t))return!0;for(let r=0;r<t;r++)if(this.perm[r]!==r||this.ori[r]!==0)return!1;return!0}zeroOris(){let t=this.perm.length;if(this.ori===er(t))return!0;for(let r=0;r<t;r++)if(this.ori[r]!==0)return!1;return!0}remap(t,r,n){let o=new Array(n),l=new Array(n);for(let i=0;i<n;i++)o[i]=r[this.perm[t[i]]],l[i]=this.ori[t[i]];return new dt(o,l,this.orimod)}remapVS(t,r){let n=new Array(r),o=new Array(r),l=0,i=[];for(let s=0;s<r;s++){let u=this.perm[t[s]];i[u]===void 0&&(i[u]=l++),n[s]=i[u],o[s]=this.ori[t[s]]}return new dt(n,o,this.orimod)}appendDefinition(t,r,n,o=!0){if(!(o&&this.isIdentity())&&(t.push(r),t.push(this.perm.map(l=>l+1).join(\" \")),!this.zeroOris()))if(n){let l=new Array(this.ori.length);for(let i=0;i<l.length;i++)l[this.perm[i]]=this.ori[i];t.push(l.join(\" \"))}else t.push(this.ori.join(\" \"))}toKPuzzle(){let t=this.perm.length;return this.isIdentity()?(dt.kcache[t]||(dt.kcache[t]={permutation:Et(t),orientation:er(t)}),dt.kcache[t]):{permutation:this.perm,orientation:this.ori}}},Nt=dt;Nt.kcache=[];Ki=class{constructor(t){this.orbits=t}internalMul(t){let r=[];for(let n=0;n<this.orbits.length;n++)r.push(this.orbits[n].mul(t.orbits[n]));return r}internalInv(){let t=[];for(let r of this.orbits)t.push(r.inv());return t}equal(t){for(let r=0;r<this.orbits.length;r++)if(!this.orbits[r].equal(t.orbits[r]))return!1;return!0}killOri(){for(let t of this.orbits)t.killOri();return this}toPerm(){let t=new Array,r=0;for(let o of this.orbits){let l=o.toPerm();t.push(l),r+=l.n}let n=new Array(r);r=0;for(let o of t){for(let l=0;l<o.n;l++)n[r+l]=r+o.p[l];r+=o.n}return new ft(n)}identicalPieces(){let t=[],r=0;for(let n of this.orbits){let o=n.orimod,l=n.identicalPieces();for(let i=0;i<l.length;i++)t.push(l[i].map(s=>s*o+r));r+=o*n.perm.length}return t}order(){let t=1;for(let r of this.orbits)t=_i(t,r.order());return t}},tr=class extends Ki{constructor(t){super(t)}mul(t){return new tr(this.internalMul(t))}mulScalar(t){if(t===0)return this.e();let r=this;for(t<0&&(r=r.inv(),t=-t);(t&1)==0;)r=r.mul(r),t>>=1;if(t===1)return r;let n=r,o=this.e();for(;t>0;)t&1&&(o=o.mul(n)),t>1&&(n=n.mul(n)),t>>=1;return o}inv(){return new tr(this.internalInv())}e(){return new tr(this.orbits.map(t=>Nt.e(t.perm.length,t.orimod)))}},nn=class extends Ki{constructor(t){super(t)}mul(t){return new nn(this.internalMul(t))}},Qi=class{constructor(t){this.n=t;this.heads=new Array(t);for(let r=0;r<t;r++)this.heads[r]=r}find(t){let r=this.heads[t];return this.heads[r]===r||(r=this.find(this.heads[r]),this.heads[t]=r),r}union(t,r){let n=this.find(t),o=this.find(r);n<o?this.heads[o]=n:n>o&&(this.heads[n]=o)}}});var ul,M0=U(()=>{ul={\"2x2x2\":\"c f 0\",\"3x3x3\":\"c f 0.333333333333333\",\"4x4x4\":\"c f 0.5 f 0\",\"5x5x5\":\"c f 0.6 f 0.2\",\"6x6x6\":\"c f 0.666666666666667 f 0.333333333333333 f 0\",\"7x7x7\":\"c f 0.714285714285714 f 0.428571428571429 f 0.142857142857143\",\"8x8x8\":\"c f 0.75 f 0.5 f 0.25 f 0\",\"9x9x9\":\"c f 0.777777777777778 f 0.555555555555556 f 0.333333333333333 f 0.111111111111111\",\"10x10x10\":\"c f 0.8 f 0.6 f 0.4 f 0.2 f 0\",\"11x11x11\":\"c f 0.818181818181818 f 0.636363636363636 f 0.454545454545455 f 0.272727272727273 f 0.0909090909090909\",\"12x12x12\":\"c f 0.833333333333333 f 0.666666666666667 f 0.5 f 0.333333333333333 f 0.166666666666667 f 0\",\"13x13x13\":\"c f 0.846153846153846 f 0.692307692307692 f 0.538461538461538 f 0.384615384615385 f 0.230769230769231 f 0.0769230769230769\",\"20x20x20\":\"c f 0 f .1 f .2 f .3 f .4 f .5 f .6 f .7 f .8 f .9\",\"30x30x30\":\"c f 0 f .066667 f .133333 f .2 f .266667 f .333333 f .4 f .466667 f .533333 f .6 f .666667 f .733333 f .8 f .866667 f .933333\",\"40x40x40\":\"c f 0 f .05 f .1 f .15 f .2 f .25 f .3 f .35 f .4 f .45 f .5 f .55 f .6 f .65 f .7 f .75 f .8 f .85 f .9 f .95\",skewb:\"c v 0\",\"master skewb\":\"c v 0.275\",\"professor skewb\":\"c v 0 v 0.38\",\"compy cube\":\"c v 0.915641442663986\",helicopter:\"c e 0.707106781186547\",\"curvy copter\":\"c e 0.83\",dino:\"c v 0.577350269189626\",\"little chop\":\"c e 0\",pyramorphix:\"t e 0\",mastermorphix:\"t e 0.346184634065199\",pyraminx:\"t v 0.333333333333333 v 1.66666666666667\",tetraminx:\"t v 0.333333333333333\",\"master pyraminx\":\"t v 0 v 1 v 2\",\"master tetraminx\":\"t v 0 v 1\",\"professor pyraminx\":\"t v -0.2 v 0.6 v 1.4 v 2.2\",\"professor tetraminx\":\"t v -0.2 v 0.6 v 1.4\",\"Jing pyraminx\":\"t f 0\",\"master pyramorphix\":\"t e 0.866025403784437\",megaminx:\"d f 0.7\",gigaminx:\"d f 0.64 f 0.82\",teraminx:\"d f 0.64 f 0.76 f 0.88\",petaminx:\"d f 0.64 f 0.73 f 0.82 f 0.91\",examinx:\"d f 0.64 f 0.712 f 0.784 f 0.856 f 0.928\",zetaminx:\"d f 0.64 f 0.7 f 0.76 f 0.82 f 0.88 f 0.94\",yottaminx:\"d f 0.64 f 0.6914 f 0.7429 f 0.7943 f 0.8457 f 0.8971 f 0.9486\",pentultimate:\"d f 0\",\"master pentultimate\":\"d f 0.1\",\"elite pentultimate\":\"d f 0 f 0.145905\",starminx:\"d v 0.937962370425399\",\"starminx 2\":\"d f 0.23606797749979\",\"pyraminx crystal\":\"d f 0.447213595499989\",chopasaurus:\"d v 0\",\"big chop\":\"d e 0\",\"skewb diamond\":\"o f 0\",FTO:\"o f 0.333333333333333\",\"master FTO\":\"o f 0.5 f 0\",\"Christopher's jewel\":\"o v 0.577350269189626\",octastar:\"o e 0\",\"Trajber's octahedron\":\"o v 0.433012701892219\",\"radio chop\":\"i f 0\",icosamate:\"i v 0\",\"icosahedron 2\":\"i v 0.18759247376021\",\"icosahedron 3\":\"i v 0.18759247376021 e 0\",\"icosahedron static faces\":\"i v 0.84\",\"icosahedron moving faces\":\"i v 0.73\",\"Eitan's star\":\"i f 0.61803398874989\",\"2x2x2 + dino\":\"c f 0 v 0.577350269189626\",\"2x2x2 + little chop\":\"c f 0 e 0\",\"dino + little chop\":\"c v 0.577350269189626 e 0\",\"2x2x2 + dino + little chop\":\"c f 0 v 0.577350269189626 e 0\",\"megaminx + chopasaurus\":\"d f 0.61803398875 v 0\",\"starminx combo\":\"d f 0.23606797749979 v 0.937962370425399\"}});function fl(e){let t=new _(0,0,0,0);for(let r=0;r<e.length;r++)t=t.sum(e[r]);return t.smul(1/e.length)}function G0(e,t,r,n){let o=n[e].intersect3(n[t],n[r]);if(!o)return o;for(let l=0;l<n.length;l++)if(l!==e&&l!==t&&l!==r){let i=n[l].b*o.b+n[l].c*o.c+n[l].d*o.d;if(n[l].a>0&&i>n[l].a||n[l].a<0&&i<n[l].a)return!1}return o}var Ur,_,gl=U(()=>{Ur=1e-9;_=class{constructor(t,r,n,o){this.a=t;this.b=r;this.c=n;this.d=o}mul(t){return new _(this.a*t.a-this.b*t.b-this.c*t.c-this.d*t.d,this.a*t.b+this.b*t.a+this.c*t.d-this.d*t.c,this.a*t.c-this.b*t.d+this.c*t.a+this.d*t.b,this.a*t.d+this.b*t.c-this.c*t.b+this.d*t.a)}toString(){return`Q[${this.a},${this.b},${this.c},${this.d}]`}dist(t){return Math.hypot(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}len(){return Math.hypot(this.a,this.b,this.c,this.d)}cross(t){return new _(0,this.c*t.d-this.d*t.c,this.d*t.b-this.b*t.d,this.b*t.c-this.c*t.b)}dot(t){return this.b*t.b+this.c*t.c+this.d*t.d}normalize(){let t=Math.sqrt(this.dot(this));return new _(this.a/t,this.b/t,this.c/t,this.d/t)}makenormal(){return new _(0,this.b,this.c,this.d).normalize()}normalizeplane(){let t=Math.hypot(this.b,this.c,this.d);return new _(this.a/t,this.b/t,this.c/t,this.d/t)}smul(t){return new _(this.a*t,this.b*t,this.c*t,this.d*t)}sum(t){return new _(this.a+t.a,this.b+t.b,this.c+t.c,this.d+t.d)}sub(t){return new _(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}angle(){return 2*Math.acos(this.a)}invrot(){return new _(this.a,-this.b,-this.c,-this.d)}det3x3(t,r,n,o,l,i,s,u,a){return t*(l*a-i*u)+r*(i*s-o*a)+n*(o*u-l*s)}rotateplane(t){let r=t.mul(new _(0,this.b,this.c,this.d)).mul(t.invrot());return r.a=this.a,r}orthogonal(){let t=Math.abs(this.b),r=Math.abs(this.c),n=Math.abs(this.d);return t<r&&t<n?this.cross(new _(0,1,0,0)).normalize():r<t&&r<n?this.cross(new _(0,0,1,0)).normalize():this.cross(new _(0,0,0,1)).normalize()}pointrotation(t){let r=this.normalize();if(t=t.normalize(),r.sub(t).len()<Ur)return new _(1,0,0,0);let n=r.sum(t);n.len()<Ur?n=n.orthogonal():n=n.normalize();let o=r.cross(n);return o.a=r.dot(n),o}unproject(t){return this.sum(t.smul(-this.dot(t)/(this.len()*t.len())))}rotatepoint(t){return t.mul(this).mul(t.invrot())}rotateface(t){return t.map(r=>r.rotatepoint(this))}intersect3(t,r){let n=this.det3x3(this.b,this.c,this.d,t.b,t.c,t.d,r.b,r.c,r.d);return Math.abs(n)<Ur?!1:new _(0,this.det3x3(this.a,this.c,this.d,t.a,t.c,t.d,r.a,r.c,r.d)/n,this.det3x3(this.b,this.a,this.d,t.b,t.a,t.d,r.b,r.a,r.d)/n,this.det3x3(this.b,this.c,this.a,t.b,t.c,t.a,r.b,r.c,r.a)/n)}side(t){return t>Ur?1:t<-Ur?-1:0}cutface(t){let r=this.a,n=0,o=null;for(let l=0;l<t.length;l++)n|=1<<this.side(t[l].dot(this)-r)+1;if((n&5)==5){o=[];let l=t.map(i=>this.side(i.dot(this)-r));for(let i=-1;i<=1;i+=2){let s=[];for(let u=0;u<t.length;u++){(l[u]===i||l[u]===0)&&s.push(t[u]);let a=(u+1)%t.length;if(l[u]+l[a]===0&&l[u]!==0){let f=t[u].dot(this)-r,g=t[a].dot(this)-r,L=f/(f-g),B=t[u].smul(1-L).sum(t[a].smul(L));s.push(B)}}o.push(s)}}return o}cutfaces(t){let r=[];for(let n=0;n<t.length;n++){let o=t[n],l=this.cutface(o);l?(r.push(l[0]),r.push(l[1])):r.push(o)}return r}faceside(t){let r=this.a;for(let n=0;n<t.length;n++){let o=this.side(t[n].dot(this)-r);if(o!==0)return o}throw new Error(\"Could not determine side of plane in faceside\")}sameplane(t){let r=this.normalize(),n=t.normalize();return r.dist(n)<Ur||r.dist(n.smul(-1))<Ur}makecut(t){return new _(t,this.b,this.c,this.d)}}});function T0(){let e=Math.sqrt(.5);return[new _(e,e,0,0),new _(e,0,e,0)]}function I0(){return[new _(.5,.5,.5,.5),new _(.5,.5,.5,-.5)]}function N0(){let e=2*Math.PI/10,t=.5+.3*Math.sqrt(5),r=.5+.1*Math.sqrt(5),n=Math.sqrt(t*t+r*r);return t/=n,r/=n,[new _(Math.cos(e),t*Math.sin(e),r*Math.sin(e),0),new _(.5,.5,.5,.5)]}function O0(){let e=1/6+Math.sqrt(5)/6,t=2/3+Math.sqrt(5)/3,r=Math.sqrt(e*e+t*t);e/=r,t/=r;let n=2*Math.PI/6;return[new _(Math.cos(n),e*Math.sin(n),t*Math.sin(n),0),new _(Math.cos(n),-e*Math.sin(n),t*Math.sin(n),0)]}function _0(){let e=Math.sqrt(.5);return[new _(.5,.5,.5,.5),new _(e,0,0,e)]}function W0(e){let t=[new _(1,0,0,0)];for(let r=0;r<t.length;r++)for(let n=0;n<e.length;n++){let o=e[n].mul(t[r]),l=o.smul(-1),i=!1;for(let s=0;s<t.length;s++)if(o.dist(t[s])<Ll||l.dist(t[s])<Ll){i=!0;break}i||t.push(o)}return t}function ji(e,t){let r=[],n=[];for(let o=0;o<t.length;o++){let l=e.rotateplane(t[o]),i=!1;for(let s=0;s<r.length;s++)if(l.dist(r[s])<Ll){i=!0;break}i||(r.push(l),n.push(t[o]))}return n}function qi(e){let t=[];for(let r=1;r<e.length;r++)for(let n=r+1;n<e.length;n++){let o=G0(0,r,n,e);if(o){let l=!1;for(let i=0;i<t.length;i++)if(o.dist(t[i])<Ll){l=!0;break}l||t.push(o)}}for(;;){let r=!1;for(let n=0;n<t.length;n++){let o=(n+1)%t.length;if(e[0].dot(t[n].cross(t[o]))<0){let l=t[n];t[n]=t[o],t[o]=l,r=!0}}if(!r)break}return t}var Ll,K0=U(()=>{gl();Ll=1e-9});function Bl(e,t){let r=e[0].p.length,n=k0(r),o=[],l=[],i=[],s=[],u=[];function a(B){for(let p=B.p.length-1;p>=0;p--){let m=B.p[p];if(m!==p){if(!o[p][m])return!1;B=B.mul(l[p][m])}}return!0}function f(B,p,m){s[B].push(p),u[B].push(m);for(let F=0;F<o[B].length;F++)o[B][F]&&g(B,o[B][F].mul(p),m+i[B][F])}function g(B,p,m){let F=p.p[B];if(!o[B][F]){o[B][F]=p,l[B][F]=p.inv(),i[B][F]=m;for(let b=0;b<s[B].length;b++)g(B,p.mul(s[B][b]),m+u[B][b]);return}let A=p.mul(l[B][F]);a(A)||f(B-1,A,m+i[B][F])}function L(){o=[],l=[],s=[],i=[],u=[];for(let m=0;m<r;m++)o.push([]),l.push([]),i.push([]),s.push([]),u.push([]),o[m][m]=n,l[m][m]=n,i[m][m]=0;let B=0,p=1;for(let m=0;m<e.length;m++){f(r-1,e[m],1),p=1;let F=0,A=0,b=[],h=new Q0;for(let C=0;C<r;C++){let E=0,j=0;for(let I=0;I<r;I++)o[C][I]&&(E++,j+=i[C][I],C!==I&&B++);F+=s[C].length,p*=E,E>1&&h.multiply(E);let te=j/E;b.push(te),A+=te}t(`${m}: sz ${p} T ${F} sol ${A} none ${B} mults ${h.toString()}`)}return p}return L()}var Q0,Vi=U(()=>{al();Q0=class{constructor(){this.mult=[]}multiply(t){for(let r=2;r*r<=t;r++)for(;t%r==0;)this.mult[r]!==void 0?this.mult[r]++:this.mult[r]=1,t/=r;t>1&&(this.mult[t]!==void 0?this.mult[t]++:this.mult[t]=1)}toString(){let t=\"\";for(let r=0;r<this.mult.length;r++)this.mult[r]!==void 0&&(t!==\"\"&&(t+=\"*\"),t+=r,this.mult[r]>1&&(t+=`^${this.mult[r]}`));return t}}});function Hi(e){return e}function Yi(e){}function y1(e,t){let r=[];for(let n of e)for(let o of t)r.push(o.rotate(n));return r}function S1(){return{4:[[\"F\",\"D\",\"L\",\"R\"]],6:[[\"F\",\"D\",\"L\",\"U\",\"R\"],[\"R\",\"F\",\"\",\"B\",\"\"]],8:[[\"F\",\"D\",\"L\",\"R\"],[\"D\",\"F\",\"BR\",\"\"],[\"BR\",\"D\",\"\",\"BB\"],[\"BB\",\"BR\",\"U\",\"BL\"]],12:[[\"U\",\"F\",\"\",\"\",\"\",\"\"],[\"F\",\"U\",\"R\",\"C\",\"A\",\"L\"],[\"R\",\"F\",\"\",\"\",\"E\",\"\"],[\"E\",\"R\",\"\",\"BF\",\"\",\"\"],[\"BF\",\"E\",\"BR\",\"BL\",\"I\",\"D\"]],20:[[\"R\",\"C\",\"F\",\"E\"],[\"F\",\"R\",\"L\",\"U\"],[\"L\",\"F\",\"A\",\"\"],[\"E\",\"R\",\"G\",\"I\"],[\"I\",\"E\",\"S\",\"H\"],[\"S\",\"I\",\"J\",\"B\"],[\"B\",\"S\",\"K\",\"D\"],[\"K\",\"B\",\"M\",\"O\"],[\"O\",\"K\",\"P\",\"N\"],[\"P\",\"O\",\"Q\",\"\"]]}}function x1(){return{4:{F:\"#00ff00\",D:\"#ffff00\",L:\"#ff0000\",R:\"#0000ff\"},6:{U:\"#ffffff\",F:\"#00ff00\",R:\"#ff0000\",D:\"#ffff00\",B:\"#0000ff\",L:\"#ff8000\"},8:{U:\"#ffffff\",F:\"#ff0000\",R:\"#00bb00\",D:\"#ffff00\",BB:\"#1122ff\",L:\"#9524c5\",BL:\"#ff8800\",BR:\"#aaaaaa\"},12:{U:\"#ffffff\",F:\"#006633\",R:\"#ff0000\",C:\"#ffffd0\",A:\"#3399ff\",L:\"#660099\",E:\"#ff66cc\",BF:\"#99ff00\",BR:\"#0000ff\",BL:\"#ffff00\",I:\"#ff6633\",D:\"#999999\"},20:{R:\"#db69f0\",C:\"#178fde\",F:\"#23238b\",E:\"#9cc726\",L:\"#2c212d\",U:\"#177fa7\",A:\"#e0de7f\",G:\"#2b57c0\",I:\"#41126b\",S:\"#4b8c28\",H:\"#7c098d\",J:\"#7fe7b4\",B:\"#85fb74\",K:\"#3f4bc3\",D:\"#0ff555\",M:\"#f1c2c8\",O:\"#58d340\",P:\"#c514f2\",N:\"#14494e\",Q:\"#8b1be1\"}}}function w1(){return{4:[\"F\",\"D\",\"L\",\"R\"],6:[\"U\",\"D\",\"F\",\"B\",\"L\",\"R\"],8:[\"F\",\"BB\",\"D\",\"U\",\"BR\",\"L\",\"R\",\"BL\"],12:[\"L\",\"E\",\"F\",\"BF\",\"R\",\"I\",\"U\",\"D\",\"BR\",\"A\",\"BL\",\"C\"],20:[\"L\",\"S\",\"E\",\"O\",\"F\",\"B\",\"I\",\"P\",\"R\",\"K\",\"U\",\"D\",\"J\",\"A\",\"Q\",\"H\",\"G\",\"N\",\"M\",\"C\"]}}function v1(){return{4:[[\"FLR\",[0,1,0]],[\"F\",[0,0,1]]],6:[[\"U\",[0,1,0]],[\"F\",[0,0,1]]],8:[[\"U\",[0,1,0]],[\"F\",[0,0,1]]],12:[[\"U\",[0,1,0]],[\"F\",[0,0,1]]],20:[[\"GUQMJ\",[0,1,0]],[\"F\",[0,0,1]]]}}function ml(e,t){for(let r=0;r<e.length;r++)if(e[r][0].dist(t)<be)return r;throw new Error(\"Element not found\")}function j0(){return ul}function q0(e){return ul[e]}function to(e){let t=e.split(/ /).filter(Boolean);if(t.length%2==0)return null;let r=t[0];if(r!==\"o\"&&r!==\"c\"&&r!==\"i\"&&r!==\"d\"&&r!==\"t\")return null;let n=[];for(let o=1;o<t.length;o+=2){if(t[o]!==\"f\"&&t[o]!==\"v\"&&t[o]!==\"e\")return null;n.push({cutType:t[o],distance:parseFloat(t[o+1])})}return{shape:r,cuts:n}}function Zi(e,t={}){let r=to(e);if(r===null)throw new Error(\"Could not parse the puzzle description\");let n=new pl(r,Object.assign({},{allMoves:!0},t));return n.allstickers(),n.genperms(),n}function ln(e,t){return Zi(ul[e],t)}function E1(e,t,r){let n=!1;r-t[1]<t[0]&&(e=[e[2],e[3],e[0],e[1]],t=[r-t[1],r-t[0]],n=!0);let o=e[0],l=\"\";if(t[0]===0&&t[1]===r)o=o+\"v\";else if(t[0]===t[1])t[1]>0&&(l=String(t[1]+1));else if(t[0]===0)o=o.toLowerCase(),t[1]>1&&(l=String(t[1]+1));else throw`We only support slice and outer block moves right now. ${t}`;return[l+o,n]}function k1(e,t){let r=[],n=0;for(;n<e.length;){n>0&&n<e.length&&e[n]===\"_\"&&n++;let o=\"\";for(let l of t)e.substr(n).startsWith(l[1])&&l[1].length>o.length&&(o=l[1]);if(o!==\"\")r.push(o),n+=o.length;else throw new Error(\"Could not split \"+e+\" into face names.\")}return r}function cl(e,t){return[e.b/t,-e.c/t,e.d/t]}function Xi(e,t){let r=[],n=e.length;for(let o=0;o<n;o++){let l=cl(e.get(n-o-1),t);r[3*o]=l[0],r[3*o+1]=l[1],r[3*o+2]=l[2]}return r}var on,no,be,U1,b1,pl,br,sl=U(()=>{Ae();L0();Gi();Ii();al();P0();M0();K0();gl();Vi();on=class{constructor(t){this.coords=new Array(t.length*3);for(let r=0;r<t.length;r++)this.coords[3*r]=t[r].b,this.coords[3*r+1]=t[r].c,this.coords[3*r+2]=t[r].d;this.length=t.length}get(t){return new _(0,this.coords[3*t],this.coords[3*t+1],this.coords[3*t+2])}centermass(){let t=0,r=0,n=0;for(let o=0;o<this.length;o++)t+=this.coords[3*o],r+=this.coords[3*o+1],n+=this.coords[3*o+2];return new _(0,t/this.length,r/this.length,n/this.length)}rotate(t){let r=[];for(let n=0;n<this.length;n++)r.push(this.get(n).rotatepoint(t));return new on(r)}rotateforward(){let t=[];for(let r=1;r<this.length;r++)t.push(this.get(r));return t.push(this.get(0)),new on(t)}},no=class{constructor(t,r,n){this.face=t;this.left=r;this.right=n}split(t){let r=t.cutface(this.face);return r!==null&&(this.left===void 0?(this.left=new no(r[0]),this.right=new no(r[1])):(this.left=this.left?.split(t),this.right=this.right?.split(t))),this}collect(t,r){return this.left===void 0?t.push(new on(this.face)):r?(this.left?.collect(t,!1),this.right?.collect(t,!0)):(this.right?.collect(t,!1),this.left?.collect(t,!0)),t}};be=1e-9,U1=\"PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.\",b1=!1;pl=class{constructor(t,r){this.puzzleDescription=t;this.cmovesbyslice=[];this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new tn;this.addNotationMapper=\"\";this.setReidOrder=!1;let n=Hi(\"genperms\");this.options=new Ti(r),this.options.verbosity>0&&console.log(this.header(\"# \")),this.create(t),Yi(n)}create(t){let{shape:r,cuts:n}=t;this.moveplanes=[],this.moveplanes2=[],this.faces=[],this.cubies=[];let o=null;switch(r){case\"c\":o=T0();break;case\"o\":o=_0();break;case\"i\":o=O0();break;case\"t\":o=I0();break;case\"d\":o=N0();break;default:throw new Error(\"Bad shape argument: \"+r)}this.rotations=W0(o),this.options.verbosity&&console.log(\"# Rotations: \"+this.rotations.length);let l=o[0];this.baseplanerot=ji(l,this.rotations);let i=this.baseplanerot.map(d=>l.rotateplane(d));this.baseplanes=i,this.baseFaceCount=i.length;let s=S1()[i.length];this.net=s,this.colors=x1()[i.length],this.faceorder=w1()[i.length],this.options.verbosity>0&&console.log(\"# Base planes: \"+i.length);let u=qi(i),a=new _(0,0,0,0);this.options.verbosity>0&&console.log(\"# Face vertices: \"+u.length);let f=i[0].makenormal(),g=u[0].sum(u[1]).makenormal(),L=u[0].makenormal(),B=new _(1,f.b,f.c,f.d);this.options.verbosity>0&&console.log(\"# Boundary is \"+B);let m=ji(B,this.rotations).map(d=>B.rotateplane(d)),F=qi(m);this.edgedistance=F[0].sum(F[1]).smul(.5).dist(a),this.vertexdistance=F[0].dist(a);let A=[],b=[],h=!1,C=!1,E=!1;for(let d of n){let v=null,N=0;switch(d.cutType){case\"f\":v=f,N=1,h=!0;break;case\"v\":v=L,N=this.vertexdistance,E=!0;break;case\"e\":v=g,N=this.edgedistance,C=!0;break;default:throw new Error(\"Bad cut argument: \"+d.cutType)}A.push(v.makecut(d.distance)),b.push(d.distance<N)}this.options.addRotations&&(h||A.push(f.makecut(10)),E||A.push(L.makecut(10)),C||A.push(g.makecut(10))),this.basefaces=[];for(let d of this.baseplanerot){let v=d.rotateface(F);this.basefaces.push(new on(v))}let j=[],te=[],I=[],re=[],y=F.length;function z(d,v,N){for(let W of d)if(W[0].dist(v)<be){W.push(N);return}d.push([v,N])}for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F);for(let N=0;N<v.length;N++){let W=(N+1)%v.length,ne=v[N].sum(v[W]).smul(.5);z(re,ne,d)}}let M=[];for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F),N=[];for(let W=0;W<v.length;W++){let ne=(W+1)%v.length,We=v[W].sum(v[ne]).smul(.5),lt=re[ml(re,We)];if(d===lt[1])N.push(lt[2]);else if(d===lt[2])N.push(lt[1]);else throw new Error(\"Could not find edge\")}M.push(N)}let x={},w=[];w.push(s[0][0]),x[s[0][0]]=0,w[M[0][0]]=s[0][1],x[s[0][1]]=M[0][0];for(let d of s){let v=d[0],N=x[v];if(N===void 0)throw new Error(\"Bad edge description; first edge not connected\");let W=-1;for(let ne=0;ne<M[N].length;ne++){let We=w[M[N][ne]];if(We!==void 0&&We===d[1]){W=ne;break}}if(W<0)throw new Error(\"First element of a net not known\");for(let ne=2;ne<d.length;ne++){if(d[ne]===\"\")continue;let We=M[N][(ne+W-1)%y],lt=w[We];if(lt!==void 0&<!==d[ne])throw new Error(\"Face mismatch in net\");w[We]=d[ne],x[d[ne]]=We}}for(let d=0;d<w.length;d++){let v=!1;for(let N=0;N<this.faceorder.length;N++)if(w[d]===this.faceorder[N]){this.faceprecedence[d]=N,v=!0;break}if(!v)throw new Error(\"Could not find face \"+w[d]+\" in face order list \"+this.faceorder)}for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F),N=B.rotateplane(this.baseplanerot[d]),W=w[d];j.push([v,W]),te.push([N,W])}for(let d=0;d<this.baseplanerot.length;d++){let v=this.baseplanerot[d].rotateface(F),N=w[d];for(let W=0;W<v.length;W++){let ne=(W+1)%v.length,We=v[W].sum(v[ne]).smul(.5),lt=(W+2)%v.length,wg=v[ne].sum(v[lt]).smul(.5),vg=ml(re,We),Eg=ml(re,wg);z(I,v[ne],[N,Eg,vg])}}this.swizzler=new Jn(j.map(d=>d[1]));let P=this.swizzler.prefixFree?\"\":\"_\";for(let d=0;d<re.length;d++){if(re[d].length!==3)throw new Error(\"Bad length in edge names \"+re[d]);let v=w[re[d][1]],N=w[re[d][2]];this.faceprecedence[re[d][1]]<this.faceprecedence[re[d][2]]?v=v+P+N:v=N+P+v,re[d]=[re[d][0],v]}for(let d=0;d<I.length;d++){if(I[d].length<4)throw new Error(\"Bad length in vertex names\");let v=1;for(let W=2;W<I[d].length;W++)this.faceprecedence[x[I[d][W][0]]]<this.faceprecedence[x[I[d][v][0]]]&&(v=W);let N=\"\";for(let W=1;W<I[d].length;W++){W===1?N=I[d][v][0]:N=N+P+I[d][v][0];for(let ne=1;ne<I[d].length;ne++)if(I[d][v][1]===I[d][ne][2]){v=ne;break}}I[d]=[I[d][0],N]}this.options.verbosity>1&&(console.log(\"# Face precedence list: \"+this.faceorder.join(\" \")),console.log(\"# Face names: \"+j.map(d=>d[1]).join(\" \")),console.log(\"# Edge names: \"+re.map(d=>d[1]).join(\" \")),console.log(\"# Vertex names: \"+I.map(d=>d[1]).join(\" \")));let K=[];for(let d of te)K.push([d[0].makenormal(),d[1],\"f\"]);for(let d of re)K.push([d[0].makenormal(),d[1],\"e\"]);for(let d of I)K.push([d[0].makenormal(),d[1],\"v\"]);this.facenames=j,this.faceplanes=te,this.edgenames=re,this.vertexnames=I,this.geonormals=K;let H=K.map(d=>d[1]);this.swizzler.setGripNames(H),this.options.verbosity>0&&console.log(\"# Distances: face \"+1+\" edge \"+this.edgedistance+\" vertex \"+this.vertexdistance);for(let d=0;d<A.length;d++)for(let v of this.rotations){let N=A[d].rotateplane(v),W=!1;for(let ne of this.moveplanes)if(N.sameplane(ne)){W=!0;break}W||(this.moveplanes.push(N),b[d]&&this.moveplanes2.push(N))}let ge=new no(F),me=this.moveplanes2.slice(),Fe=31;for(let d=0;d<me.length;d++){let v=d+Math.floor((me.length-d)*(Fe/65536));ge=ge.split(me[v]),me[v]=me[d],Fe=(Fe*1657+101)%65536}let ye=ge.collect([],!0);this.faces=ye,this.options.verbosity>0&&console.log(\"# Faces is now \"+ye.length),this.stickersperface=ye.length;let xt=[],ze=fl(F);for(let d of this.rotations){let v=d.rotateface(F);ze.dist(fl(v))<be&&xt.push(d)}let Xe=new Array(ye.length),xe=[];for(let d=0;d<ye.length;d++){let v=ye[d].centermass();xe.push([ze.dist(v),v,d])}xe.sort((d,v)=>d[0]-v[0]);for(let d=0;d<ye.length;d++){let v=xe[d][2];if(!Xe[v]){Xe[v]=!0;for(let N of xt){let W=ye[v].rotate(N),ne=W.centermass();for(let We=d+1;We<ye.length&&!(xe[We][0]-xe[d][0]>be);We++){let lt=xe[We][2];if(!Xe[lt]&&ne.dist(xe[We][1])<be){Xe[lt]=!0,ye[lt]=W;break}}}}}this.shortedge=1e99;for(let d of ye)for(let v=0;v<d.length;v++){let N=(v+1)%d.length,W=d.get(v).dist(d.get(N));W<this.shortedge&&(this.shortedge=W)}this.options.verbosity>0&&console.log(\"# Short edge is \"+this.shortedge),r===\"c\"&&h&&!C&&!E&&(this.addNotationMapper=\"NxNxNCubeMapper\",this.setReidOrder=!0),r===\"c\"&&E&&!h&&!C&&(this.addNotationMapper=\"SkewbMapper\"),r===\"t\"&&(E||h)&&!C&&(this.addNotationMapper=\"PyraminxOrTetraminxMapper\"),r===\"o\"&&h&&(this.notationMapper=new $n(this.swizzler,new Jn([\"F\",\"D\",\"L\",\"BL\",\"R\",\"U\",\"BR\",\"B\"])),!C&&!E&&(this.addNotationMapper=\"FTOMapper\")),r===\"d\"&&h&&(this.addNotationMapper=\"MegaminxMapper\",this.notationMapper=new $n(this.swizzler,new Jn([\"U\",\"F\",\"L\",\"BL\",\"BR\",\"R\",\"FR\",\"FL\",\"DL\",\"B\",\"DR\",\"D\"])))}keyface(t){return this.keyface2(t.centermass())}keyface2(t){let r=\"\",n=String.fromCharCode;for(let o of this.moveplanesets)if(o.length>0){let l=t.dot(o[0]),i=0,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);if(i<47)r=r+n(33+i);else if(i<47+47*47)r=r+n(33+47+Math.floor(i/47)-1)+n(33+i%47);else if(i<47+47*47+47*47*47)r=r+n(33+47+Math.floor((i-47)/(47*47)-1))+n(33+47+Math.floor((i-47)/47)%47)+n(33+i%47);else throw Error(\"Too many slices for cubie encoding\")}return r}keyface3(t){let r=t.centermass(),n=[];for(let o of this.moveplanesets)if(o.length>0){let l=r.dot(o[0]),i=0,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);n.push(i)}return n}findface(t){let r=this.keyface2(t),n=this.facelisthash.get(r);if(n.length===1)return n[0];for(let o=0;o+1<n.length;o++){let l=this.facelisthash.get(r)[o];if(Math.abs(t.dist(this.facecentermass[l]))<be)return l}return n[n.length-1]}project2d(t,r,n){let o=this.facenames[t][0],l=(r+1)%o.length,i=this.baseplanes[t],s=o[l].sub(o[r]),u=s.len();s=s.normalize();let a=s.cross(i).normalize(),f=n[1].sub(n[0]),g=f.len()/u;f=f.normalize();let L=f.b,B=f.c,p=s.smul(L).sub(a.smul(B)).smul(g),m=a.smul(L).sum(s.smul(B)).smul(g),F=new _(0,n[0].b-p.dot(o[r]),n[0].c-m.dot(o[r]),0);return[p,m,F]}allstickers(){let t=Hi(\"allstickers\");this.faces=y1(this.baseplanerot,this.faces),this.options.verbosity>0&&console.log(\"# Total stickers is now \"+this.faces.length),this.facecentermass=new Array(this.faces.length);for(let y=0;y<this.faces.length;y++)this.facecentermass[y]=this.faces[y].centermass();let r=[],n=[];for(let y of this.moveplanes){let z=y.makenormal(),M=!1;for(let x of n)z.sameplane(x.makenormal())&&(M=!0);M||(n.push(z),r.push([]))}for(let y of this.moveplanes2){let z=y.makenormal();for(let M=0;M<n.length;M++)if(z.sameplane(n[M])){r[M].push(y);break}}for(let y=0;y<r.length;y++){let z=r[y].map(x=>x.normalizeplane()),M=n[y];for(let x=0;x<z.length;x++)z[x].makenormal().dist(M)>be&&(z[x]=z[x].smul(-1));z.sort((x,w)=>x.a-w.a),r[y]=z}this.moveplanesets=r,this.moveplanenormals=n;let o=r.map(y=>y.length);this.options.verbosity>0&&console.log(\"# Move plane sets: \"+o);let l=[];for(let y=0;y<r.length;y++)l.push([]);for(let y of this.rotations){if(Math.abs(Math.abs(y.a)-1)<be)continue;let z=y.makenormal();for(let M=0;M<r.length;M++)if(z.sameplane(n[M])){l[M].push(y);break}}this.moverotations=l;for(let y=0;y<l.length;y++){let z=l[y],M=z[0].makenormal();for(let x=0;x<z.length;x++)M.dist(z[x].makenormal())>be&&(z[x]=z[x].smul(-1));z.sort((x,w)=>x.angle()-w.angle()),l[y][0].dot(n[y])<0&&z.reverse()}let i=l.map(y=>1+y.length);this.movesetorders=i;let s=[],u=\"?\";for(let y=0;y<r.length;y++){let z=n[y],M=null,x=null;for(let w of this.geonormals){let P=z.dot(w[0]);Math.abs(P-1)<be?(x=[w[1],w[2]],u=w[2]):Math.abs(P+1)<be&&(M=[w[1],w[2]],u=w[2])}if(x===null||M===null)throw new Error(\"Saw positive or negative sides as null\");s.push([x[0],x[1],M[0],M[1],1+r[y].length]),this.addNotationMapper===\"NxNxNCubeMapper\"&&u===\"f\"&&(this.notationMapper=new ol(1+r[y].length),this.addNotationMapper=\"\"),this.addNotationMapper===\"SkewbMapper\"&&r[0].length===1&&(this.notationMapper=new il(this.swizzler),this.addNotationMapper=\"\"),this.addNotationMapper===\"PyraminxOrTetraminxMapper\"&&(r[0].length===2&&r[0][0].a===.333333333333333&&r[0][1].a===1.66666666666667?(this.notationMapper=new eo(this.swizzler),this.addNotationMapper=\"\"):(this.notationMapper=new ll(this.swizzler),this.addNotationMapper=\"\")),this.addNotationMapper===\"MegaminxMapper\"&&u===\"f\"&&(1+r[y].length===3&&(this.notationMapper=new nl(this.notationMapper)),this.addNotationMapper=\"\"),this.addNotationMapper===\"FTOMapper\"&&u===\"f\"&&(1+r[y].length===3&&(this.notationMapper=new rl(this.notationMapper,this.swizzler)),this.addNotationMapper=\"\")}this.movesetgeos=s;let a=new Map,f=this.faces;for(let y=0;y<f.length;y++){let z=f[y],M=this.keyface(z);if(!a.get(M))a.set(M,[y]);else{let x=a.get(M);if(x.push(y),x.length===this.baseFaceCount){this.options.verbosity>0&&console.log(\"# Splitting core.\");for(let w=0;w<x.length;w++){let P=M+\" \"+w;a.set(P,[x[w]])}}}}this.facelisthash=a,this.options.verbosity>0&&console.log(\"# Cubies: \"+a.size);let g=[],L=[],B=[];for(let y of a.values())if(y.length!==this.baseFaceCount){if(y.length>1){let z=y.map(P=>f[P].centermass()),M=fl(z);for(let P=0;y.length>2;P++){let K=!1;for(let H=0;H<y.length;H++){let ge=(H+1)%y.length;if(M.dot(z[H].cross(z[ge]))<0){let me=z[H];z[H]=z[ge],z[ge]=me;let Fe=y[H];y[H]=y[ge],y[ge]=Fe,K=!0}}if(!K)break;if(P>1e3)throw new Error(\"Bad epsilon math; too close to border\")}let x=0,w=y[x];for(let P=1;P<y.length;P++){let K=y[P];this.faceprecedence[this.getfaceindex(K)]<this.faceprecedence[this.getfaceindex(w)]&&(x=P,w=K)}if(x!==0){let P=y.slice();for(let K=0;K<y.length;K++)y[K]=P[(x+K)%y.length]}}for(let z=0;z<y.length;z++){let M=y[z];L[M]=g.length,B[M]=z}g.push(y)}this.cubies=g,this.facetocubie=L,this.facetoord=B;let p=[\"?\",\"CENTERS\",\"EDGES\",\"CORNERS\",\"C4RNER\",\"C5RNER\"],m=[],F=[0,0,0,0,0,0],A=[],b=[],h=0,C=[],E=[],j=[],te=[],I=y=>g[y].map(z=>this.getfaceindex(z)).join(\" \"),re=[];for(let y=0;y<g.length;y++){if(b[y])continue;let z=g[y];if(z.length===0)continue;let M={},x=0;j.push(0),re.push([]);let w=z.length,P=F[w]++,K=p[w];(K===void 0||w===this.baseFaceCount)&&(K=\"CORE\"),K=K+(P===0?\"\":P+1),m[h]=K,A[h]=w;let H=[y],ge=0;for(b[y]=!0;ge<H.length;){let me=H[ge++],Fe=I(me);if((z.length>1||M[Fe]===void 0)&&(M[Fe]=x++),te[me]=M[Fe],C[me]=h,re[h].push(me),E[me]=j[h]++,H.length<this.rotations.length){let ye=this.facecentermass[g[me][0]];for(let xt of l){let ze=this.facetocubie[this.findface(ye.rotatepoint(xt[0]))];b[ze]||(H.push(ze),b[ze]=!0)}}}h++}if(this.setReidOrder&&4<=this.stickersperface&&this.stickersperface<=9){let y=[[\"UF\",\"UR\",\"UB\",\"UL\",\"DF\",\"DR\",\"DB\",\"DL\",\"FR\",\"FL\",\"BR\",\"BL\"],[\"UFR\",\"URB\",\"UBL\",\"ULF\",\"DRF\",\"DFL\",\"DLB\",\"DBR\"],[\"U\",\"L\",\"F\",\"R\",\"B\",\"D\"]],z={};for(let M of y)for(let x=0;x<M.length;x++){let w=0;for(let P=0;P<M[x].length;P++)w|=1<<M[x].charCodeAt(P)-65;z[w]=x}for(let M of re)for(let x of M){let w=0;for(let P of g[x])w|=1<<this.facenames[this.getfaceindex(P)][1].charCodeAt(0)-65;E[x]=z[w]}}if(this.cubiesetnums=C,this.cubieordnums=E,this.cubiesetnames=m,this.cubieords=j,this.orbitoris=A,this.cubievaluemap=te,this.cubiesetcubies=re,this.options.fixedPieceType!==null){for(let y=0;y<g.length;y++)if(this.options.fixedPieceType===\"v\"&&g[y].length>2||this.options.fixedPieceType===\"e\"&&g[y].length===2||this.options.fixedPieceType===\"f\"&&g[y].length===1){this.fixedCubie=y;break}if(this.fixedCubie<0)throw new Error(\"Could not find a cubie of type \"+this.options.fixedPieceType+\" to fix.\")}this.options.verbosity>0&&console.log(\"# Cubie orbit sizes \"+j),Yi(t)}unswizzle(t){let r=this.notationMapper.notationToInternal(t);return r===null?\"\":this.swizzler.unswizzle(r.family)}stringToBlockMove(t){let r=RegExp(\"^(([0-9]+)-)?([0-9]+)?([^0-9]+)([0-9]+'?)?$\"),n=t.match(r);if(n===null)throw new Error(\"Bad move passed \"+t);let o=n[4],l,i;if(n[2]!==void 0){if(n[3]===void 0)throw new Error(\"Missing second number in range\");l=parseInt(n[2],10)}n[3]!==void 0&&(i=parseInt(n[3],10));let s=\"1\",u=1;return n[5]!==void 0&&(s=n[5],s[0]===\"'\"&&(s=\"-\"+s.substring(1)),u=parseInt(s,10)),new c(new G(o,i,l),u)}parseMove(t){let r=this.notationMapper.notationToInternal(t);if(r===null)throw new Error(\"Bad move \"+t.family);t=r;let n=t.family,o=!1;if(n.endsWith(\"v\")&&n[0]<=\"Z\"){if(t.innerLayer!==void 0||t.outerLayer!==void 0)throw new Error(\"Cannot use a prefix with full cube rotations\");n=n.slice(0,-1),o=!0}n.endsWith(\"w\")&&n[0]<=\"Z\"&&(n=n.slice(0,-1).toLowerCase());let l,i=-1,s=this.swizzler.unswizzle(n),u=!1;for(let g=0;g<this.movesetgeos.length;g++){let L=this.movesetgeos[g];s===L[0]&&(u=!0,l=L,i=g),s===L[2]&&(u=!1,l=L,i=g)}let a=1,f=1;if(n.toUpperCase()!==n&&(f=2),l===void 0)throw new Error(\"Bad grip in move \"+t.family);if(t.outerLayer!==void 0&&(a=t.outerLayer),t.innerLayer!==void 0&&(t.outerLayer===void 0?(f=t.innerLayer,n<=\"Z\"?a=f:a=1):f=t.innerLayer),a--,f--,o&&(a=0,f=this.moveplanesets[i].length),a<0||a>this.moveplanesets[i].length||f<0||f>this.moveplanesets[i].length)throw new Error(\"Bad slice spec \"+a+\" \"+f+\" vs \"+this.moveplanesets[i].length);if(!b1&&a===0&&f===this.moveplanesets[i].length&&!o)throw new Error(\"! full puzzle rotations must be specified with v suffix.\");return[void 0,i,a,f,u,t.amount]}parsemove(t){let r=this.parseMove(this.stringToBlockMove(t));return r[0]=t,r}genperms(){let t=Hi(\"genperms\");if(this.cmovesbyslice.length>0)return;let r=[];if(this.options.orientCenters){for(let n=0;n<this.cubies.length;n++)if(this.cubies[n].length===1){let o=this.cubies[n][0],l=this.getfaceindex(o);if(this.basefaces[l].centermass().dist(this.facecentermass[o])<be){let i=this.basefaces[l].length;for(let s=1;s<i;s++)this.cubies[n].push(this.cubies[n][s-1]);this.duplicatedFaces[o]=i,this.duplicatedCubies[n]=i,this.orbitoris[this.cubiesetnums[n]]=i}}}for(let n=0;n<this.moveplanesets.length;n++){let o=this.moveplanesets[n],l=[],i=[o.length+1,0],s=1;for(;s*2<=o.length;)s*=2;for(let f=0;f<this.faces.length;f++){let g=0;if(o.length>0){let L=this.facecentermass[f].dot(o[0]);for(let B=s;B>0;B>>=1)g+B<=o.length&&L>o[g+B-1].a&&(g+=B);g=o.length-g}for(l.push(g);i.length<=g;)i.push(0);i[g]++}let u=new Array(i.length);for(let f=0;f<i.length;f++)u[f]=[];let a=[];for(let f=0;f<this.faces.length;f++){if(l[f]<0)continue;let g=[this.facetocubie[f],this.facetoord[f]],L=this.facecentermass[f],B=L,p=f,m=l[p];for(;;){l[p]=-1;let F=L.rotatepoint(this.moverotations[n][0]);if(F.dist(B)<be)break;p=this.findface(F),g.push(this.facetocubie[p],this.facetoord[p]),L=F}if(g.length>2&&this.options.orientCenters&&(this.cubies[g[0]].length===1||this.duplicatedCubies[g[0]]>1)&&this.facecentermass[f].dist(this.basefaces[this.getfaceindex(f)].centermass())<be){let F=this.faces[this.cubies[g[0]][0]];for(let A=0;A<g.length;A+=2){let b=this.faces[this.cubies[g[A]][0]],h=-1;for(let C=0;C<F.length;C++)if(b.get(C).dist(F.get(0))<be){h=C;break}if(h<0)throw new Error(\"Couldn't find rotation of center faces; ignoring for now.\");g[A+1]=h,F=F.rotate(this.moverotations[n][0])}}if(g.length===2&&this.options.orientCenters)for(let F=1;F<this.movesetorders[n];F++)m===0?g.push(g[0],F):g.push(g[0],(this.movesetorders[n]-F)%this.movesetorders[n]);if(g.length>2&&!a[g[0]]){if(g.length!==2*this.movesetorders[n])throw new Error(\"Bad length in perm gen\");for(let F of g)u[m].push(F)}for(let F=0;F<g.length;F+=2)a[g[F]]=!0}for(let f=0;f<u.length;f++)u[f]=u[f].slice();r.push(u)}if(this.cmovesbyslice=r,this.options.moveList){let n=[];for(let o of this.options.moveList)n.push(this.parsemove(o));this.parsedmovelist=n}this.facelisthash.clear(),this.facecentermass=[],Yi(t)}getboundarygeometry(){return{baseplanes:this.baseplanes,facenames:this.facenames,faceplanes:this.faceplanes,vertexnames:this.vertexnames,edgenames:this.edgenames,geonormals:this.geonormals}}getmovesets(t){let r=this.moveplanesets[t].length,n=[];if(this.parsedmovelist!==void 0)for(let o of this.parsedmovelist)o[1]===t&&(o[4]?n.push([o[2],o[3]]):n.push([r-o[3],r-o[2]]),n.push(o[5]));else if(this.options.vertexMoves&&!this.options.allMoves){let o=this.movesetgeos[t];if(o[1]!==o[3])for(let l=0;l<r;l++)o[1]!==\"v\"?(this.options.outerBlockMoves?n.push([l+1,r]):n.push([l+1]),n.push(1)):(this.options.outerBlockMoves?n.push([0,l]):n.push([l,l]),n.push(1))}else for(let o=0;o<=r;o++)!this.options.allMoves&&o+o===r||(this.options.outerBlockMoves?o+o>r?n.push([o,r]):n.push([0,o]):n.push([o,o]),n.push(1));if(this.fixedCubie>=0){let o=this.keyface3(this.faces[this.cubies[this.fixedCubie][0]])[t],l=[];for(let i=0;i<n.length;i+=2){let s=n[i];if(o>=s[0]&&o<=s[1])if(s[0]===0)s=[s[1]+1,r];else if(r===s[1])s=[0,s[0]-1];else throw Error(\"fixed cubie option would disconnect move\");let u=!1;for(let a=0;a<l.length;a+=2)if(l[a][0]===s[0]&&l[a][1]===s[1]&&l[a+1]===n[i+1]){u=!0;break}u||(l.push(s),l.push(n[i+1]))}n=l}return n}graybyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&(this.options.grayCenters||!this.options.includeCenterOrbits)||r===2&&(this.options.grayEdges||!this.options.includeEdgeOrbits)||r>2&&(this.options.grayCorners||!this.options.includeCornerOrbits)}skipbyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&!this.options.includeCenterOrbits||r===2&&!this.options.includeEdgeOrbits||r>2&&!this.options.includeCornerOrbits}skipcubie(t){return this.skipbyori(t)}header(t){return t+U1+`\n`+t+`\n`}writegap(){let t=this.getOrbitsDef(!1),r=[],n=[];for(let l=0;l<t.moveops.length;l++){let i=\"M_\"+Wi(this.notationMapper,t.movenames[l]),s=!1;i[i.length-1]===\"'\"&&(i=i.substring(0,i.length-1),s=!0),n.push(i),s?r.push(i+\":=\"+t.moveops[l].toPerm().inv().toGap()+\";\"):r.push(i+\":=\"+t.moveops[l].toPerm().toGap()+\";\")}r.push(\"Gen:=[\"),r.push(n.join(\",\")),r.push(\"];\");let o=t.solved.identicalPieces();return r.push(\"ip:=[\"+o.map(l=>\"[\"+l.map(i=>i+1).join(\",\")+\"]\").join(\",\")+\"];\"),r.push(\"# Size(Group(Gen));\"),r.push(\"# Size(Stabilizer(Group(Gen), ip, OnTuplesSets));\"),r.push(\"\"),this.header(\"# \")+r.join(`\n`)}writeksolve(t=\"PuzzleGeometryPuzzle\"){let r=this.getOrbitsDef(!1);return this.header(\"# \")+r.toKsolve(t,this.notationMapper).join(`\n`)}getKPuzzleDefinition(t=!0,r=!0){let o=this.getOrbitsDef(t,r).toKPuzzleDefinition(r);if(o.exprimentalPuzzleDescription=this.puzzleDescription,!o)throw new Error(\"Missing definition!\");return o}getMoveFromBits(t,r,n,o,l,i){let s=[],u=[],a=[];for(let L of this.cubieords)u.push(Et(L)),a.push(er(L));for(let L=t[0];L<=t[1];L++){let B=o[L];for(let p=0;p<B.length;p+=2*i){let m=B.slice(p,p+2*i),F=this.cubiesetnums[m[0]];for(let h=0;h<m.length;h+=2)m[h]=this.cubieordnums[m[h]];let A=2,b=3;n&&(A=m.length-2,b=m.length-1),u[F]===Et(this.cubieords[F])&&(u[F]=u[F].slice(),this.orbitoris[F]>1&&!this.options.fixedOrientation&&(a[F]=a[F].slice()));for(let h=0;h<m.length;h+=2)u[F][m[(h+A)%m.length]]=m[h],this.orbitoris[F]>1&&!this.options.fixedOrientation&&(a[F][m[h]]=(m[(h+b)%m.length]-m[(h+1)%m.length]+2*this.orbitoris[F])%this.orbitoris[F])}}let f=new Nt(Et(24),er(24),1);for(let L=0;L<this.cubiesetnames.length;L++)if(!(l&&!l[L]))if(this.orbitoris[L]===1||this.options.fixedOrientation)u[L]===Et(f.perm.length)?(u[L]!==f.perm&&(f=new Nt(u[L],a[L],1)),s.push(f)):s.push(new Nt(u[L],a[L],1));else{let B=new Array(a[L].length);for(let p=0;p<u[L].length;p++)B[p]=a[L][u[L][p]];s.push(new Nt(u[L],B,this.orbitoris[L]))}let g=new tr(s);return r!==1&&(g=g.mulScalar(r)),g}omitSet(t){for(let r of this.options.excludeOrbits)if(r===t)return!0;return!1}diffmvsets(t,r,n,o){for(let l=0;l<t.length;l+=2){let i=!1;for(let s=0;!i&&s<r.length;s+=2)o?t[l][0]+r[s][1]===n&&t[l][1]+r[s][0]===n&&t[l+1]===r[s+1]&&(i=!0):t[l][0]===r[s][0]&&t[l][1]===r[s][1]&&t[l+1]===r[s+1]&&(i=!0);if(!i)return!0}return!1}getOrbitsDef(t,r=!0){let n=[];if(t)for(let L=0;L<this.cubiesetnames.length;L++)n.push(1);let o=[],l=[],i=[],s=[];for(let L=0;L<this.moveplanesets.length;L++){let B=this.getmovesets(L);i.push(B),this.options.addRotations?s.push(1):s.push(0)}if(this.options.moveList&&this.options.addRotations){for(let L=0;L<this.moverotations.length;L++)s[L]=0;for(let L=0;L<this.moveplanesets.length;L++)for(let B=0;B<this.moverotations.length;B++){let p=this.moveplanenormals[L];for(let m=1;m*2<=this.movesetorders[B];m++){if(p=p.rotatepoint(this.moverotations[B][0]),s[B]&m)continue;let F=-1,A=!1;for(let h=0;h<this.moveplanenormals.length;h++)if(p.dist(this.moveplanenormals[h])<be){F=h;break}else if(p.dist(this.moveplanenormals[h].smul(-1))<be){F=h,A=!0;break}if(F<0)throw new Error(\"Could not find rotation\");let b=i[F];(b.length!==i[L].length||this.moveplanesets[L].length!==this.moveplanesets[F].length||this.diffmvsets(b,i[L],this.moveplanesets[F].length,A))&&(s[B]|=m)}}for(let L=0;L<this.moverotations.length;L++)if(s[L]===0)s[L]=1;else if(s[L]===1)this.movesetorders[L]>3?s[L]=2:s[L]=0;else if(s[L]===3)s[L]=0;else throw new Error(\"Impossible addrot val\")}for(let L=0;L<this.moveplanesets.length;L++)s[L]!==0&&(i[L].push([0,this.moveplanesets[L].length]),i[L].push(s[L]));for(let L=0;L<this.moveplanesets.length;L++){let B=i[L],p=this.movesetorders[L];for(let A=0;A<B.length;A+=2)for(let b=0;b<A;b+=2)if(B[A]===B[b]&&B[A+1]===B[b+1])throw new Error(\"Redundant moves in moveset.\");let m=[];for(let A=0;A<B.length;A+=2)for(let b=B[A][0];b<=B[A][1];b++)m[b]=1;let F=this.cmovesbyslice[L];for(let A=0;A<F.length;A++){if(m[A]!==1)continue;let b=F[A];for(let h=0;h<b.length;h+=2*p){if(this.skipcubie(b[h]))continue;let C=this.cubiesetnums[b[h]];n[C]=1}}}for(let L=0;L<this.cubiesetnames.length;L++)if(!!n[L]){if(this.omitSet(this.cubiesetnames[L])){n[L]=0;continue}o.push(this.cubiesetnames[L]),l.push(new ro(this.cubieords[L],this.options.fixedOrientation?1:this.orbitoris[L]))}let u=[];for(let L=0;L<this.cubiesetnames.length;L++){if(!n[L]||this.omitSet(this.cubiesetnames[L]))continue;let B=[],p=[];for(let m=0;m<this.cubieords[L];m++){if(t)B.push(m);else{let F=this.cubiesetcubies[L][m];B.push(this.cubievaluemap[F])}p.push(0)}u.push(new Nt(B,p,this.options.fixedOrientation?1:this.orbitoris[L]))}let a=[],f=[];if(r)for(let L=0;L<this.moveplanesets.length;L++){let p=this.moveplanesets[L].length,m=i[L],F=this.movesetgeos[L];for(let A=0;A<m.length;A+=2){let b=m[A],h=E1(F,b,p),C=h[0],E=h[1];m[A+1]===1?a.push(C):a.push(C+m[A+1]);let j=this.getMoveFromBits(b,m[A+1],E,this.cmovesbyslice[L],n,this.movesetorders[L]);f.push(j)}}let g=new rn(o,l,new nn(u),a,f);return this.options.optimizeOrbits&&(g=g.optimize()),this.options.scrambleAmount!==0&&g.scramble(this.options.scrambleAmount),g}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(t=>t.toPerm())}showcanon(t){C0(this.getOrbitsDef(!1),t)}getsolved(){let t=[];for(let r=0;r<this.baseFaceCount;r++)for(let n=0;n<this.stickersperface;n++)t.push(r);return new ft(t)}getOrientationRotation(t){let[r,[n,o,l]]=t[0],i=new _(0,n,-o,l),[s,[u,a,f]]=t[1],g=new _(0,u,-a,f),L=null,B=null,p=this.swizzler.unswizzle(r),m=this.swizzler.unswizzle(s);for(let h of this.geonormals)p===h[1]&&(L=h[0]),m===h[1]&&(B=h[0]);if(!L)throw new Error(\"Could not find feature \"+r);if(!B)throw new Error(\"Could not find feature \"+s);let F=L.pointrotation(i);return B.rotatepoint(F).unproject(i).pointrotation(g.unproject(i)).mul(F)}getInitial3DRotation(){let t=this.baseFaceCount,r=null;if(this.options.puzzleOrientation?r=this.options.puzzleOrientation:this.options.puzzleOrientations&&(r=this.options.puzzleOrientations[t]),r||(r=v1()[t]),!r)throw new Error(\"No default orientation?\");return this.getOrientationRotation(r)}generate2dmapping(t=800,r=500,n=10,o=!1,l=.92){t-=2*n,r-=2*n;function i(x,w){let P=x[1][0]-x[0][0],K=x[1][1]-x[0][1],H=2*Math.PI/w,ge=Math.cos(H),me=Math.sin(H);for(let Fe=2;Fe<w;Fe++){let ye=P*ge+K*me;K=K*ge-P*me,P=ye,x.push([x[Fe-1][0]+P,x[Fe-1][1]+K])}}this.genperms();let a=this.getboundarygeometry().facenames[0][0].length,f=this.net;if(f===null)throw new Error(\"No net?\");let g={},L=0,B=0,p=1,m=0;g[f[0][0]]=[[1,0],[0,0]],i(g[f[0][0]],a);for(let x of f){let w=x[0];if(!g[w])throw new Error(\"Bad edge description; first edge not connected.\");for(let P=1;P<x.length;P++){let K=x[P];K===\"\"||g[K]||(g[K]=[g[w][P%a],g[w][(P+a-1)%a]],i(g[K],a))}}for(let x in g){let w=g[x];for(let P of w)L=Math.min(L,P[0]),p=Math.max(p,P[0]),B=Math.min(B,P[1]),m=Math.max(m,P[1])}let F=Math.min(t/(p-L),r/(m-B)),A=.5*(t-F*(p+L)),b=.5*(r-F*(m+B)),h={},C=this.getboundarygeometry(),E={},j=[[F+A,b],[A,b]];E[f[0][0]]=j,i(E[f[0][0]],a),h[this.facenames[0][1]]=this.project2d(0,0,[new _(0,j[0][0],j[0][1],0),new _(0,j[1][0],j[1][1],0)]);let te=[];te[0]=0;for(let x of f){let w=x[0];if(!E[w])throw new Error(\"Bad edge description; first edge not connected.\");let P=-1;for(let H=0;H<C.facenames.length;H++)if(w===C.facenames[H][1]){P=H;break}if(P<0)throw new Error(\"Could not find first face name \"+w);let K=C.facenames[P][0];for(let H=1;H<x.length;H++){let ge=x[H];if(ge===\"\"||E[ge])continue;E[ge]=[E[w][H%a],E[w][(H+a-1)%a]],i(E[ge],a);let me=te[P],Fe=K[(me+H)%a].sum(K[(me+H+a-1)%a]).smul(.5),ye=ml(C.edgenames,Fe),xt=C.edgenames[ye][1],ze=k1(xt,this.facenames),Xe=ze[w===ze[0]?1:0],xe=-1;for(let v=0;v<C.facenames.length;v++)if(Xe===C.facenames[v][1]){xe=v;break}if(xe<0)throw new Error(\"Could not find second face name\");let d=C.facenames[xe][0];for(let v=0;v<d.length;v++)if(d[v].sum(d[(v+1)%a]).smul(.5).dist(Fe)<=be){let W=E[w][(H+a-1)%a],ne=E[w][H%a];te[xe]=v,h[Xe]=this.project2d(xe,v,[new _(0,ne[0],ne[1],0),new _(0,W[0],W[1],0)]);break}}}let I=0,re=0,y=this.getInitial3DRotation();for(let x of this.faces){o&&(x=x.rotate(y));for(let w=0;w<x.length;w++)I=Math.max(I,Math.abs(x.get(w).b)),re=Math.max(re,Math.abs(x.get(w).c))}let z=Math.min(r/re/2,(t-n)/I/4);return(x,w)=>{if(o){w=w.rotatepoint(y);let P=.5*n+.25*t,K=this.baseplanes[x].rotateplane(y).d<0?1:-1;return[n+t*.5+K*(P-w.b*z),n+r*.5+w.c*z]}else{let P=h[this.facenames[x][1]];return[n+l*w.dot(P[0])+P[2].b,n+r-l*w.dot(P[1])-P[2].c]}}}generatesvg(t=800,r=500,n=10,o=!1){let l=this.generate2dmapping(t,r,n,o);function i(L,B,p){return'<polygon id=\"'+L+'\" class=\"sticker\" style=\"fill: '+p+'\" points=\"'+B.map(m=>m[0]+\" \"+m[1]).join(\" \")+`\"/>\n`}let s=this.getsolved(),u=[],a=[];for(let L=0;L<this.baseFaceCount;L++)u[L]=this.colors[this.facenames[L][1]];for(let L=0;L<this.faces.length;L++){let B=this.faces[L],p=Math.floor(L/this.stickersperface),m=[];for(let F=0;F<B.length;F++)m.push(l(p,B.get(F)));a.push(m)}let f=[];for(let L=0;L<this.baseFaceCount;L++){f.push(\"<g>\"),f.push(\"<title>\"+this.facenames[L][1]+`</title>\n`);for(let B=0;B<this.stickersperface;B++){let p=L*this.stickersperface+B,m=this.facetocubie[p],F=this.facetoord[p],A=this.cubiesetnums[m],b=this.cubieordnums[m],h=this.graybyori(m)?\"#808080\":u[s.p[p]],C=this.cubiesetnames[A]+\"-l\"+b+\"-o\"+F;if(f.push(i(C,a[p],h)),this.duplicatedFaces[p])for(let E=1;E<this.duplicatedFaces[p];E++)C=this.cubiesetnames[A]+\"-l\"+b+\"-o\"+E,f.push(i(C,a[p],h))}f.push(\"</g>\")}return`<svg id=\"svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 800 500\">\n<style type=\"text/css\"><![CDATA[.sticker { stroke: #000000; stroke-width: 1px; }]]></style>\n`+f.join(\"\")+\"</svg>\"}get3d(t){let r=[],n=this.getInitial3DRotation(),o=[],l=.52*this.basefaces[0].get(0).len();for(let a=0;a<this.basefaces.length;a++){let f=this.basefaces[a].rotate(n),g=this.facenames[a][1];o.push({coords:Xi(f,l),name:g})}for(let a=0;a<this.faces.length;a++){let f=Math.floor(a/this.stickersperface),g=this.facetocubie[a],L=this.facetoord[a],B=this.cubiesetnums[g],p=this.cubieordnums[g],m=this.graybyori(g)?\"#808080\":this.colors[this.facenames[f][1]];t?.stickerColors&&(m=t.stickerColors[a]);let F=this.faces[a].rotate(n);r.push({coords:Xi(F,l),color:m,orbit:this.cubiesetnames[B],ord:p,ori:L,face:f});let A=F;if(this.duplicatedFaces[a]){let b=A.length/this.duplicatedFaces[a];for(let h=1;h<this.duplicatedFaces[a];h++){for(let C=0;C<b;C++)A=A.rotateforward();r.push({coords:Xi(A,l),color:m,orbit:this.cubiesetnames[B],ord:p,ori:h,face:f,isDup:!0})}}}let i=[];for(let a=0;a<this.movesetgeos.length;a++){let f=this.movesetgeos[a],g=this.movesetorders[a];for(let L of this.geonormals)f[0]===L[1]&&f[1]===L[2]&&(i.push({coordinates:cl(L[0].rotatepoint(n),1),quantumMove:new c(f[0]),order:g}),i.push({coordinates:cl(L[0].rotatepoint(n).smul(-1),1),quantumMove:new c(f[2]),order:g}))}let s=this.generate2dmapping(2880,2160,0,!1,1),u=function(){let a=n.invrot();return function(f,g){let L=new _(0,g[0]*l,-g[1]*l,g[2]*l);L=L.rotatepoint(a);let B=s(f,L);return B[0]/=2880,B[1]=1-B[1]/2160,B}}().bind(this);return{stickers:r,faces:o,axis:i,unswizzle:this.unswizzle.bind(this),notationMapper:this.notationMapper,textureMapper:{getuv:u}}}getGeoNormal(t){let r=this.getInitial3DRotation(),n=this.swizzler.unswizzle(t);for(let o of this.geonormals)if(n===o[1]){let l=cl(o[0].rotatepoint(r),1);return Math.abs(l[0])<be&&Math.abs(l[2])<be&&(l[0]=0,l[2]=1e-6),l}}getfaceindex(t){let r=this.stickersperface;return Math.floor(t/r)}textForTwizzleExplorer(){return`Faces ${this.baseplanerot.length}\nStickers per face ${this.stickersperface}\nShort edge ${this.shortedge}\nCubies ${this.cubies.length}\nEdge distance ${this.edgedistance}\nVertex distance ${this.vertexdistance}`}writeSchreierSims(t){let n=this.getOrbitsDef(!1).reassemblySize();t(`Reassembly size is ${n}`);let o=Bl(this.getMovesAsPerms(),t),l=n/o;t(`Ratio is ${l}`)}},br=class{constructor(t,r){this.pg=t;this.orbitNames=r.orbitnames}lookupMove(t){let r=this.pg.parseMove(t);if(this.pg.parsedmovelist){let i=!1;for(let s of this.pg.parsedmovelist)s[1]===r[1]&&s[2]===r[2]&&s[3]===r[3]&&s[4]===r[4]&&(i=!0);if(!i)return null}let n=[r[2],r[3]];if(!r[4]){let i=this.pg.moveplanesets[r[1]].length;n=[i-r[3],i-r[2]]}let o=this.pg.getMoveFromBits(n,r[5],!r[4],this.pg.cmovesbyslice[r[1]],void 0,this.pg.movesetorders[r[1]]);return rn.transformToKTransformationData(this.orbitNames,o)}}});var Ji={};Ue(Ji,{ExperimentalPGNotation:()=>br,PuzzleGeometry:()=>pl,Quat:()=>_,getPG3DNamedPuzzles:()=>j0,getPuzzleDescriptionString:()=>q0,getPuzzleGeometryByDesc:()=>Zi,getPuzzleGeometryByName:()=>ln,parseOptions:()=>E0,parsePuzzleDescription:()=>to,schreierSims:()=>Bl});var oo=U(()=>{sl();Ii();gl();Vi();sl()});async function gt(e){return(await Promise.resolve().then(()=>(oo(),Ji))).getPuzzleGeometryByName(e,{allMoves:!0,orientCenters:!0,addRotations:!0})}async function z1(e){let t=await gt(e),r=t.getKPuzzleDefinition(!0);r.name=e;let n=await Promise.resolve().then(()=>(oo(),Ji)),o=new n.ExperimentalPGNotation(t,t.getOrbitsDef(!0));return new Ie(r,{experimentalPGNotation:o})}function lo(e){return $t(()=>z1(e))}function Sr(e,t,r){let n={id:e,fullName:t,kpuzzle:lo(e),svg:async()=>(await gt(e)).generatesvg(),pg:async()=>gt(e)};return r?.inventedBy&&(n.inventedBy=r.inventedBy),r?.inventionYear&&(n.inventionYear=r.inventionYear),n}function sn(e,t,r){let n=Sr(e,t,r);return n.appearance=Dt.bind(Dt,n),n.stickerings=$r,n}var xr=U(()=>{Ve();en();Xn()});var V0={};Ue(V0,{cube2x2x2KPuzzleDefinition:()=>kt});var kt,H0=U(()=>{kt={name:\"2x2x2\",orbits:{CORNERS:{numPieces:8,orientations:3}},startStateData:{CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},moves:{U:{CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},y:{CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]}},x:{CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]}},L:{CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]}},F:{CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]}},R:{CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]}},B:{CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]}},D:{CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}},z:{CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]}}}};kt.moves.Rv=kt.moves.x;kt.moves.Uv=kt.moves.y;kt.moves.Fv=kt.moves.z;kt.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};kt.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};kt.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var Y0={};Ue(Y0,{default:()=>C1});var C1,Z0=U(()=>{C1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\"\n \"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 520 394\" preserveAspectRatio=\"xMidYMid meet\">\n <title>2x2x2</title>\n <defs>\n <g id=\"sticker\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" stroke=\"black\" stroke-width=\"0.04px\" />\n </g>\n </defs>\n <g id=\"puzzle\" transform=\"translate(5, 5) scale(60)\">\n <use id=\"CORNERS-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(4.4, 2.2)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l0-o2\" xlink:href=\"#sticker\" transform=\"translate(3.2, 2.2)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 0)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(6.6, 2.2)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l1-o2\" xlink:href=\"#sticker\" transform=\"translate(5.4, 2.2)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 0)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(0, 2.2)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l2-o2\" xlink:href=\"#sticker\" transform=\"translate(7.6, 2.2)\" style=\"fill: #26f\"/>\n\n <use id=\"CORNERS-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(2.2, 2.2)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l3-o2\" xlink:href=\"#sticker\" transform=\"translate(1, 2.2)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 4.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(3.2, 3.2)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l4-o2\" xlink:href=\"#sticker\" transform=\"translate(4.4, 3.2)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 4.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(1, 3.2)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l5-o2\" xlink:href=\"#sticker\" transform=\"translate(2.2, 3.2)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l6-o0\" xlink:href=\"#sticker\" transform=\"translate(2.2, 5.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l6-o1\" xlink:href=\"#sticker\" transform=\"translate(7.6, 3.2)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l6-o2\" xlink:href=\"#sticker\" transform=\"translate(0, 3.2)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l7-o0\" xlink:href=\"#sticker\" transform=\"translate(3.2, 5.4)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l7-o1\" xlink:href=\"#sticker\" transform=\"translate(5.4, 3.2)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l7-o2\" xlink:href=\"#sticker\" transform=\"translate(6.6, 3.2)\" style=\"fill: #26f\"/>\n </g>\n\n</svg>`});var io,X0=U(()=>{Ve();xr();Xn();en();io={id:\"2x2x2\",fullName:\"2\\xD72\\xD72 Cube\",kpuzzle:$t(async()=>new Ie((await Promise.resolve().then(()=>(H0(),V0))).cube2x2x2KPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>(Z0(),Y0))).default,pg:async()=>gt(\"2x2x2\"),appearance:e=>Dt(io,e),stickerings:$r}});var J0={};Ue(J0,{default:()=>P1});var P1,$0=U(()=>{P1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\"\n \"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 518 392\" preserveAspectRatio=\"xMidYMid meet\">\n <title>3x3x3</title>\n <defs>\n <g id=\"sticker\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" stroke=\"black\" stroke-width=\"0.04px\" />\n </g>\n </defs>\n\n<!-- 0 1 2 3 4 5 6 7 8 9 10 11 -->\n<!-- | | | | | | | | | | | |<- -->\n<!-- 0 - . . . -->\n<!-- 1 - . . . -->\n<!-- 2 - . . . -->\n<!-- 3 - . . . . . . . . . . . . -->\n<!-- 4 - . . . . . . . . . . . . -->\n<!-- 5 - . . . . . . . . . . . . -->\n<!-- 6 - . . . -->\n<!-- 7 - . . . -->\n<!-- 8 - . . . -->\n\n <g id=\"puzzle\" transform=\"translate(5,5) scale(40)\">\n <!-- CORNERS -->\n <use id=\"CORNERS-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,2.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(6.5,3.3)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l0-o2\" xlink:href=\"#sticker\" transform=\"translate(5.3,3.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,0.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(9.7,3.3)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l1-o2\" xlink:href=\"#sticker\" transform=\"translate(8.5,3.3)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,0.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(0.1,3.3)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l2-o2\" xlink:href=\"#sticker\" transform=\"translate(11.7,3.3)\" style=\"fill: #26f\"/>\n\n <use id=\"CORNERS-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,2.1)\" style=\"fill: white\"/>\n <use id=\"CORNERS-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(3.3,3.3)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l3-o2\" xlink:href=\"#sticker\" transform=\"translate(2.1,3.3)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,6.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(5.3,5.3)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l4-o2\" xlink:href=\"#sticker\" transform=\"translate(6.5,5.3)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,6.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(2.1,5.3)\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l5-o2\" xlink:href=\"#sticker\" transform=\"translate(3.3,5.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l6-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,8.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l6-o1\" xlink:href=\"#sticker\" transform=\"translate(11.7,5.3)\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l6-o2\" xlink:href=\"#sticker\" transform=\"translate(0.1,5.3)\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l7-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,8.5)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l7-o1\" xlink:href=\"#sticker\" transform=\"translate(8.5,5.3)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l7-o2\" xlink:href=\"#sticker\" transform=\"translate(9.7,5.3)\" style=\"fill: #26f\"/>\n\n <!-- EDGES -->\n <use id=\"EDGES-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,2.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,3.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,1.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(7.5,3.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,0.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(10.7,3.3)\" style=\"fill: #26f\"/>\n\n <use id=\"EDGES-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,1.1)\" style=\"fill: white\"/>\n <use id=\"EDGES-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(1.1,3.3)\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,6.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,5.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(7.5,5.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l6-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,8.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l6-o1\" xlink:href=\"#sticker\" transform=\"translate(10.7,5.3)\" style=\"fill: #26f\"/>\n\n <use id=\"EDGES-l7-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l7-o1\" xlink:href=\"#sticker\" transform=\"translate(1.1,5.3)\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l8-o0\" xlink:href=\"#sticker\" transform=\"translate(5.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l8-o1\" xlink:href=\"#sticker\" transform=\"translate(6.5,4.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l9-o0\" xlink:href=\"#sticker\" transform=\"translate(3.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l9-o1\" xlink:href=\"#sticker\" transform=\"translate(2.1,4.3)\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l10-o0\" xlink:href=\"#sticker\" transform=\"translate(9.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l10-o1\" xlink:href=\"#sticker\" transform=\"translate(8.5,4.3)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l11-o0\" xlink:href=\"#sticker\" transform=\"translate(11.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l11-o1\" xlink:href=\"#sticker\" transform=\"translate(0.1,4.3)\" style=\"fill: orange\"/>\n\n <!-- CENTERS -->\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\n <use id=\"CENTERS-l0-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n <use id=\"CENTERS-l0-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n <use id=\"CENTERS-l0-o2\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n <use id=\"CENTERS-l0-o3\" xlink:href=\"#sticker\" transform=\"translate(4.3,1.1)\" style=\"fill: white\"/>\n\n <use id=\"CENTERS-l1-o0\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o1\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o2\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o3\" xlink:href=\"#sticker\" transform=\"translate(1.1,4.3)\" style=\"fill: orange\"/>\n\n <use id=\"CENTERS-l2-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o2\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o3\" xlink:href=\"#sticker\" transform=\"translate(4.3,4.3)\" style=\"fill: limegreen\"/>\n\n <use id=\"CENTERS-l3-o0\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o1\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o2\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o3\" xlink:href=\"#sticker\" transform=\"translate(7.5,4.3)\" style=\"fill: red\"/>\n\n <use id=\"CENTERS-l4-o0\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o1\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o2\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o3\" xlink:href=\"#sticker\" transform=\"translate(10.7,4.3)\" style=\"fill: #26f\"/>\n\n <use id=\"CENTERS-l5-o0\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o1\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o2\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o3\" xlink:href=\"#sticker\" transform=\"translate(4.3,7.5)\" style=\"fill: yellow\"/>\n </g>\n\n</svg>`});var e2={};Ue(e2,{default:()=>M1});var M1,t2=U(()=>{M1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"288px\" height=\"288px\" viewBox=\"-16 -16 288 288\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>3x3x3 LL</title>\n <defs>\n <g id=\"sticker\">\n <rect x=\"-10\" y=\"-10\" width=\"1\" height=\"1\" stroke=\"black\" stroke-width=\"0.04px\" />\n </g>\n </defs>\n <g id=\"3x3x3-LL\" stroke=\"none\" stroke-width=\"4\" style=\"none\" stroke-linejoin=\"round\">\n <rect id=\"CENTERS-l0-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"CENTERS-l0-o1\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"CENTERS-l0-o2\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"CENTERS-l0-o3\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"96\" width=\"64\" height=\"64\"></rect>\n\n <rect id=\"CORNERS-l0-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"160\" y=\"160\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l0-o1\" stroke=\"#000000\" style=\"fill: red\" points=\"224 160 252 160 252 252 224 224\"></polygon>\n <polygon id=\"CORNERS-l0-o2\" stroke=\"#000000\" style=\"fill: limegreen\" transform=\"translate(206, 238) scale(1, -1) rotate(-90) translate(-206, -238) \" points=\"192 192 220 192 220 284 192 256\"></polygon>\n <rect id=\"CORNERS-l1-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"160\" y=\"32\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l1-o1\" stroke=\"#000000\" style=\"fill: #26f\" transform=\"translate(206, 18) rotate(-90) translate(-206, -18) \" points=\"192 -28 220 -28 220 64 192 36\"></polygon>\n <polygon id=\"CORNERS-l1-o2\" stroke=\"#000000\" style=\"fill: red\" transform=\"translate(238, 50) scale(1, -1) translate(-238, -50) \" points=\"224 4 252 4 252 96 224 68\"></polygon>\n <rect id=\"CORNERS-l2-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"32\" y=\"32\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l2-o1\" stroke=\"#000000\" style=\"fill: orange\" transform=\"translate(18, 50) scale(-1, -1) translate(-18, -50) \" points=\"4 4 32 4 32 96 4 68\"></polygon>\n <polygon id=\"CORNERS-l2-o2\" stroke=\"#000000\" style=\"fill: #26f\" transform=\"translate(50, 18) scale(1, -1) rotate(90) translate(-50, -18) \" points=\"36 -28 64 -28 64 64 36 36\"></polygon>\n <rect id=\"CORNERS-l3-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"32\" y=\"160\" width=\"64\" height=\"64\"></rect>\n <polygon id=\"CORNERS-l3-o1\" stroke=\"#000000\" style=\"fill: limegreen\" transform=\"translate(50, 238) rotate(90) translate(-50, -238) \" points=\"36 192 64 192 64 284 36 256\"></polygon>\n <polygon id=\"CORNERS-l3-o2\" stroke=\"#000000\" style=\"fill: orange\" transform=\"translate(18, 206) scale(-1, 1) translate(-18, -206) \" points=\"4 160 32 160 32 252 4 224\"></polygon>\n\n <rect id=\"EDGES-l0-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"160\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l0-o1\" stroke=\"#000000\" style=\"fill: limegreen\" transform=\"translate(128, 238) scale(1, -1) rotate(90) translate(-128, -238) \" x=\"114\" y=\"206\" width=\"28\" height=\"64\"></rect>\n <rect id=\"EDGES-l1-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"160\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l1-o1\" stroke=\"#000000\" style=\"fill: red\" x=\"224\" y=\"96\" width=\"28\" height=\"64\"></rect>\n <rect id=\"EDGES-l2-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"96\" y=\"32\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l2-o1\" stroke=\"#000000\" style=\"fill: #26f\" transform=\"translate(128, 18) scale(1, -1) rotate(90) translate(-128, -18) \" x=\"114\" y=\"-14\" width=\"28\" height=\"64\"></rect>\n <rect id=\"EDGES-l3-o0\" stroke=\"#000000\" style=\"fill: white\" x=\"32\" y=\"96\" width=\"64\" height=\"64\"></rect>\n <rect id=\"EDGES-l3-o1\" stroke=\"#000000\" style=\"fill: orange\" x=\"4\" y=\"96\" width=\"28\" height=\"64\"></rect>\n\n </g>\n <g style=\"opacity: 0\">\n <!-- CORNERS -->\n <use id=\"CORNERS-l4-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l4-o1\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l4-o2\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l5-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l5-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CORNERS-l5-o2\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS-l6-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l6-o1\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CORNERS-l6-o2\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"CORNERS-l7-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l7-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CORNERS-l7-o2\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n\n <!-- EDGES -->\n <use id=\"EDGES-l4-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l4-o1\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l5-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l5-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l6-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l6-o1\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n\n <use id=\"EDGES-l7-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l7-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l8-o0\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l8-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l9-o0\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l9-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"EDGES-l10-o0\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l10-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l11-o0\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"EDGES-l11-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <!-- CENTERS -->\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\n <use id=\"CENTERS-l1-o0\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o1\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o2\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n <use id=\"CENTERS-l1-o3\" xlink:href=\"#sticker\" style=\"fill: orange\"/>\n\n <use id=\"CENTERS-l2-o0\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o1\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o2\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n <use id=\"CENTERS-l2-o3\" xlink:href=\"#sticker\" style=\"fill: limegreen\"/>\n\n <use id=\"CENTERS-l3-o0\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o1\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o2\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n <use id=\"CENTERS-l3-o3\" xlink:href=\"#sticker\" style=\"fill: red\"/>\n\n <use id=\"CENTERS-l4-o0\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o1\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o2\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n <use id=\"CENTERS-l4-o3\" xlink:href=\"#sticker\" style=\"fill: #26f\"/>\n\n <use id=\"CENTERS-l5-o0\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o1\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o2\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n <use id=\"CENTERS-l5-o3\" xlink:href=\"#sticker\" style=\"fill: yellow\"/>\n </g>\n</svg>`});var $i,r2=U(()=>{Ve();xr();en();$i={id:\"3x3x3\",fullName:\"3\\xD73\\xD73 Cube\",inventedBy:[\"Ern\\u0151 Rubik\"],inventionYear:1974,kpuzzle:async()=>Mi,svg:async()=>(await Promise.resolve().then(()=>($0(),J0))).default,llSVG:async()=>(await Promise.resolve().then(()=>(t2(),e2))).default,pg:async()=>gt(\"3x3x3\"),appearance:e=>Dt($i,e),stickerings:$r}});var n2={};Ue(n2,{clockKPuzzleDefinition:()=>G1});var G1,o2=U(()=>{G1={name:\"Clock\",orbits:{DIALS:{numPieces:18,orientations:12},FACES:{numPieces:18,orientations:1},FRAME:{numPieces:1,orientations:2}},startStateData:{DIALS:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{pieces:[0],orientation:[0]}},moves:{UR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,0,0,0,0,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},U_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,0,0,0,-1,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},R_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,1,1,-1,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},D_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},L_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},ALL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,1,1,1,-1,0,-1,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},y2:{DIALS:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[1]}},UL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}}}}});var l2={};Ue(l2,{default:()=>T1});var T1,i2=U(()=>{T1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 480 240\" preserveAspectRatio=\"xMidYMid meet\">\n <title>clock</title>\n <defs>\n <g id=\"hand\" transform=\"translate(-20, -20)\">\n <path d=\"M19.9995197,2.22079449 L23.8791657,19.0203611 C23.9580836,19.3338406 24,19.6620253 24,20 C24,22.209139 22.209139,24 20,24 C17.790861,24 16,22.209139 16,20 C16,19.6620253 16.0419164,19.3338406 16.1208343,19.0203611 L19.9995197,2.22079449 Z\"></path>\n </g>\n <g id=\"cardinal_hours\" style=\"fill: #FFFFFF\">\n <circle cx=\"0\" cy=\"24\" r=\"2\"></circle>\n <circle cx=\"-24\" cy=\"0\" r=\"2\"></circle>\n <circle cx=\"24\" cy=\"0\" r=\"2\"></circle>\n <circle cx=\"0\" cy=\"-24\" r=\"2\"></circle>\n </g>\n <g id=\"face_hours\">\n <g>\n <use xlink:href=\"#cardinal_hours\"/>\n </g>\n <g transform=\"rotate(30)\">\n <use xlink:href=\"#cardinal_hours\"/>\n </g>\n <g transform=\"rotate(60)\">\n <use xlink:href=\"#cardinal_hours\"/>\n </g>\n </g>\n <g id=\"pegs\" stroke=\"#000000\" style=\"fill: #FFD000\">\n <circle id=\"PEG4\" cx=\"90\" cy=\"90\" r=\"10\"></circle>\n <circle id=\"PEG3\" cx=\"30\" cy=\"90\" r=\"10\"></circle>\n <circle id=\"PEG2\" cx=\"90\" cy=\"30\" r=\"10\"></circle>\n <circle id=\"PEG1\" cx=\"30\" cy=\"30\" r=\"10\"></circle>\n </g>\n <g id=\"frame\" transform=\"translate(-24, -24)\">\n <path stroke=\"#000000\" d=\"M120,20 C137.495665,20 153.941932,24.4930026 168.247913,32.3881183 C171.855881,30.8514056 175.828512,30 180,30 C196.568542,30 210,43.4314575 210,60 C210,64.1714878 209.148594,68.1441192 207.610077,71.7536009 C215.506997,86.0580678 220,102.504335 220,120 C220,137.495665 215.506997,153.941932 207.611882,168.247913 C209.148594,171.855881 210,175.828512 210,180 C210,196.568542 196.568542,210 180,210 C175.828512,210 171.855881,209.148594 168.246399,207.610077 C153.941932,215.506997 137.495665,220 120,220 C102.504335,220 86.0580678,215.506997 71.7520869,207.611882 C68.1441192,209.148594 64.1714878,210 60,210 C43.4314575,210 30,196.568542 30,180 C30,175.828512 30.8514056,171.855881 32.3899234,168.246399 C24.4930026,153.941932 20,137.495665 20,120 C20,102.504335 24.4930026,86.0580678 32.3881183,71.7520869 C30.8514056,68.1441192 30,64.1714878 30,60 C30,43.4314575 43.4314575,30 60,30 C64.1714878,30 68.1441192,30.8514056 71.7536009,32.3899234 C86.0580678,24.4930026 102.504335,20 120,20 Z\"></path>\n </g>\n </defs>\n <g>\n <g transform=\"translate(24, 24)\">\n <use xlink:href=\"#frame\" id=\"FRAME-l0-o0\" style=\"fill: #0C5093\"/>\n <use xlink:href=\"#pegs\" transform=\"translate(36, 36)\"/>\n <g transform=\"translate(36, 36)\">\n <circle id=\"FACES-l0-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l0-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l0-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l0-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 36)\">\n <circle id=\"FACES-l1-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l1-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l1-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l1-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 36)\">\n <circle id=\"FACES-l2-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l2-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l2-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l2-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 96)\">\n <circle id=\"FACES-l3-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l3-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l3-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l3-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 96)\">\n <circle id=\"FACES-l4-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l4-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l4-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l4-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 96)\">\n <circle id=\"FACES-l5-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l5-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l5-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l5-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 156)\">\n <circle id=\"FACES-l6-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l6-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l6-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l6-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 156)\">\n <circle id=\"FACES-l7-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l7-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l7-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l7-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 156)\">\n <circle id=\"FACES-l8-o0\" stroke=\"#000000\" style=\"fill: #90B8DF\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l8-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l8-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l8-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n </g>\n <g transform=\"translate(264, 24)\">\n <use xlink:href=\"#frame\" id=\"FRAME-l0-o1\" style=\"fill: #90B8DF\"/>\n <use xlink:href=\"#pegs\" transform=\"translate(36, 36)\"/>\n <g transform=\"translate(36, 36)\">\n <circle id=\"FACES-l9-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l9-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l9-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l9-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 36)\">\n <circle id=\"FACES-l10-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l10-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l10-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l10-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 36)\">\n <circle id=\"FACES-l11-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l11-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l11-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l11-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 96)\">\n <circle id=\"FACES-l12-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l12-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l12-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l12-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 96)\">\n <circle id=\"FACES-l13-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l13-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l13-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l13-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 96)\">\n <circle id=\"FACES-l14-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l14-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l14-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l14-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(36, 156)\">\n <circle id=\"FACES-l15-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l15-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l15-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l15-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(96, 156)\">\n <circle id=\"FACES-l16-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l16-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l16-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l16-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n <g transform=\"translate(156, 156)\">\n <circle id=\"FACES-l17-o0\" stroke=\"#000000\" style=\"fill: #0C5093\" r=\"20\"></circle>\n <use xlink:href=\"#face_hours\"/>\n <g>\n <use id=\"DIALS-l17-o0\" xlink:href=\"#hand\" transform=\"rotate(0)\" style=\"fill: #FFD000\"/>\n <use id=\"DIALS-l17-o1\" xlink:href=\"#hand\" transform=\"rotate(30)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o2\" xlink:href=\"#hand\" transform=\"rotate(60)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o3\" xlink:href=\"#hand\" transform=\"rotate(90)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o4\" xlink:href=\"#hand\" transform=\"rotate(120)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o5\" xlink:href=\"#hand\" transform=\"rotate(150)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o6\" xlink:href=\"#hand\" transform=\"rotate(180)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o7\" xlink:href=\"#hand\" transform=\"rotate(210)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o8\" xlink:href=\"#hand\" transform=\"rotate(240)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o9\" xlink:href=\"#hand\" transform=\"rotate(270)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o10\" xlink:href=\"#hand\" transform=\"rotate(300)\" style=\"fill: #0000\"/>\n <use id=\"DIALS-l17-o11\" xlink:href=\"#hand\" transform=\"rotate(330)\" style=\"fill: #0000\"/>\n </g>\n </g>\n </g>\n </g>\n</svg>`});var s2,a2=U(()=>{Ve();Xn();s2={id:\"clock\",fullName:\"Clock\",inventedBy:[\"Christopher C. Wiggs\",\"Christopher J. Taylor\"],inventionYear:1988,kpuzzle:$t(async()=>new Ie((await Promise.resolve().then(()=>(o2(),n2))).clockKPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>(i2(),l2))).default}});async function u2(e,t){let r=await e.kpuzzle(),n=new Hn(r),o=new Yn(r),l=()=>o.and([o.move(\"U\"),o.not(o.or(o.moves([\"F\",\"BL\",\"BR\"])))]),i=()=>o.and([o.move(\"U\"),o.not(o.move(\"F\"))]),s=()=>o.or([i(),o.and([o.move(\"F\"),o.not(o.or(o.moves([\"U\",\"BL\",\"BR\"])))])]),u=()=>o.not(o.or([o.and([o.move(\"U\"),o.move(\"F\")]),o.and([o.move(\"F\"),o.move(\"BL\")]),o.and([o.move(\"F\"),o.move(\"BR\")]),o.and([o.move(\"BL\"),o.move(\"BR\")])])),a=()=>o.not(o.or([o.and([o.move(\"F\"),o.move(\"BL\")]),o.and([o.move(\"F\"),o.move(\"BR\")]),o.and([o.move(\"BL\"),o.move(\"BR\")])]));switch(t){case\"full\":break;case\"experimental-fto-fc\":n.set(o.not(l()),S.Ignored);break;case\"experimental-fto-f2t\":n.set(o.not(i()),S.Ignored),n.set(l(),S.Dim);break;case\"experimental-fto-sc\":n.set(o.not(s()),S.Ignored),n.set(i(),S.Dim);break;case\"experimental-fto-l2c\":n.set(o.not(u()),S.Ignored),n.set(s(),S.Dim);break;case\"experimental-fto-lbt\":n.set(o.not(a()),S.Ignored),n.set(u(),S.Dim);break;case\"experimental-fto-l3t\":n.set(a(),S.Dim);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),S.Dim)}return n.toAppearance()}async function f2(){return[\"full\",\"experimental-fto-fc\",\"experimental-fto-f2t\",\"experimental-fto-sc\",\"experimental-fto-l2c\",\"experimental-fto-lbt\",\"experimental-fto-l3t\"]}var g2=U(()=>{Zn()});var es,L2=U(()=>{xr();g2();es={id:\"fto\",fullName:\"Face-Turning Octahedron\",inventedBy:[\"Karl Rohrbach\",\"David Pitcher\"],inventionYear:1983,kpuzzle:lo(\"FTO\"),svg:async()=>(await gt(\"FTO\")).generatesvg(),pg:async()=>gt(\"FTO\"),appearance:e=>u2(es,e),stickerings:f2}});async function B2(e,t){switch(t){case\"full\":case\"F2L\":case\"LL\":return Dt(e,t);default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`)}return Dt(e,\"full\")}async function m2(){return[\"full\",\"F2L\",\"LL\"]}var c2=U(()=>{en()});var so,p2=U(()=>{xr();c2();so=Sr(\"megaminx\",\"Megaminx\",{inventionYear:1981});so.appearance=e=>B2(so,e);so.stickerings=m2});var R2={};Ue(R2,{default:()=>I1});var I1,D2=U(()=>{I1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\"\n \"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"-20 -20 546 480\" preserveAspectRatio=\"xMidYMid meet\">\n <defs>\n </defs>\n <title>pyraminx</title>\n <defs>\n <g id=\"stickerA\" transform=\"scale(1, 0.577350269)\">\n <path\n d=\"m 0,1.732050808 1,-1.732050808 1,1.732050808 z\"\n stroke=\"black\" stroke-width=\"0.04px\" stroke-linecap=\"butt\" stroke-linejoin=\"round\"\n />\n </g>\n <g id=\"stickerV\" transform=\"scale(1, 0.577350269)\">\n <path\n d=\"m 0,0 1,1.732050808 1,-1.732050808 z\"\n stroke=\"black\" stroke-width=\"0.04px\" stroke-linecap=\"butt\" stroke-linejoin=\"round\"\n />\n </g>\n </defs>\n\n<!-- 0 1 2 3 4 5 6 7 8 9 10 -->\n<!-- | | | | | | | | | | | -->\n<!-- 0 - L L L L L F R R R R R -->\n<!-- 1 - L L L F F F R R R -->\n<!-- 2 - L F F F F F R -->\n<!-- 3 - D D D D D -->\n<!-- 4 - D D D -->\n<!-- 5 - D -->\n\n <g id=\"puzzle\" transform=\"translate(5, 5) scale(40, 69.28203232)\">\n <!-- CORNERS -->\n <use id=\"CORNERS-l0-o0\" xlink:href=\"#stickerV\" transform=\"translate(5.2, 1.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l0-o1\" xlink:href=\"#stickerA\" transform=\"translate(3, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l0-o2\" xlink:href=\"#stickerA\" transform=\"translate(7.4, 0)\" style=\"fill: blue\"/>\n\n <use id=\"CORNERS-l3-o0\" xlink:href=\"#stickerV\" transform=\"translate(4.2, 2.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l3-o1\" xlink:href=\"#stickerA\" transform=\"translate(4.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS-l3-o2\" xlink:href=\"#stickerA\" transform=\"translate(2, 1)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS-l2-o0\" xlink:href=\"#stickerV\" transform=\"translate(6.2, 2.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS-l2-o1\" xlink:href=\"#stickerA\" transform=\"translate(8.4, 1)\" style=\"fill: blue\"/>\n <use id=\"CORNERS-l2-o2\" xlink:href=\"#stickerA\" transform=\"translate(6.2, 3.2)\" style=\"fill: yellow\"/>\n\n <use id=\"CORNERS-l1-o1\" xlink:href=\"#stickerA\" transform=\"translate(9.4, 0)\" style=\"fill: blue\"/>\n <use id=\"CORNERS-l1-o2\" xlink:href=\"#stickerA\" transform=\"translate(1, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS-l1-o0\" xlink:href=\"#stickerA\" transform=\"translate(5.2, 4.2)\" style=\"fill: yellow\"/>\n\n <!-- \"TIPS\" -->\n <!-- CORNERS2 -->\n <use id=\"CORNERS2-l0-o0\" xlink:href=\"#stickerA\" transform=\"translate(5.2, 0.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS2-l0-o1\" xlink:href=\"#stickerV\" transform=\"translate(4, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS2-l0-o2\" xlink:href=\"#stickerV\" transform=\"translate(6.4, 0)\" style=\"fill: blue\"/>\n\n <use id=\"CORNERS2-l3-o0\" xlink:href=\"#stickerA\" transform=\"translate(3.2, 2.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"CORNERS2-l3-o1\" xlink:href=\"#stickerV\" transform=\"translate(3.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS2-l3-o2\" xlink:href=\"#stickerV\" transform=\"translate(2, 2)\" style=\"fill: red\"/>\n\n <use id=\"CORNERS2-l2-o1\" xlink:href=\"#stickerV\" transform=\"translate(8.4, 2)\" style=\"fill: blue\"/>\n <use id=\"CORNERS2-l2-o2\" xlink:href=\"#stickerV\" transform=\"translate(7.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"CORNERS2-l2-o0\" xlink:href=\"#stickerA\" transform=\"translate(7.2, 2.066666667)\" style=\"fill: limegreen\"/>\n\n <use id=\"CORNERS2-l1-o1\" xlink:href=\"#stickerV\" transform=\"translate(10.4,0)\" style=\"fill: blue\"/>\n <use id=\"CORNERS2-l1-o2\" xlink:href=\"#stickerV\" transform=\"translate(0, 0)\" style=\"fill: red\"/>\n <use id=\"CORNERS2-l1-o0\" xlink:href=\"#stickerV\" transform=\"translate(5.2, 5.2)\" style=\"fill: yellow\"/>\n\n <!-- EDGES -->\n <use id=\"EDGES-l0-o0\" xlink:href=\"#stickerA\" transform=\"translate(4.2, 1.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l0-o1\" xlink:href=\"#stickerV\" transform=\"translate(3, 1)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l5-o0\" xlink:href=\"#stickerA\" transform=\"translate(6.2, 1.066666667)\" style=\"fill: limegreen\"/>\n <use id=\"EDGES-l5-o1\" xlink:href=\"#stickerV\" transform=\"translate(7.4, 1)\" style=\"fill: blue\"/>\n\n <use id=\"EDGES-l1-o1\" xlink:href=\"#stickerV\" transform=\"translate(8.4, 0)\" style=\"fill: blue\"/>\n <use id=\"EDGES-l1-o0\" xlink:href=\"#stickerV\" transform=\"translate(2, 0)\" style=\"fill: red\"/>\n\n <use id=\"EDGES-l2-o1\" xlink:href=\"#stickerV\" transform=\"translate(5.2, 3.2)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l2-o0\" xlink:href=\"#stickerA\" transform=\"translate(5.2, 2.066666667)\" style=\"fill: limegreen\"/>\n\n <use id=\"EDGES-l3-o0\" xlink:href=\"#stickerV\" transform=\"translate(6.2, 4.2)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l3-o1\" xlink:href=\"#stickerV\" transform=\"translate(9.4, 1)\" style=\"fill: blue\"/>\n\n <use id=\"EDGES-l4-o0\" xlink:href=\"#stickerV\" transform=\"translate(4.2, 4.2)\" style=\"fill: yellow\"/>\n <use id=\"EDGES-l4-o1\" xlink:href=\"#stickerV\" transform=\"translate(1, 1)\" style=\"fill: red\"/>\n </g>\n\n</svg>`});var d2,F2=U(()=>{xr();d2={id:\"pyraminx\",fullName:\"Pyraminx\",inventedBy:[\"Uwe Meffert\"],inventionYear:1970,kpuzzle:lo(\"pyraminx\"),svg:async()=>(await Promise.resolve().then(()=>(D2(),R2))).default,pg:async()=>gt(\"pyraminx\")}});var A2={};Ue(A2,{sq1HyperOrbitKPuzzleDefinition:()=>N1});var N1,h2=U(()=>{N1={name:\"Square-1\",orbits:{WEDGES:{numPieces:24,orientations:9},EQUATOR:{numPieces:2,orientations:6}},startStateData:{WEDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{pieces:[0,1],orientation:[0,0]}},moves:{U_SQ_:{WEDGES:{permutation:[11,0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},D_SQ_:{WEDGES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,23,12,13,14,15,16,17,18,19,20,21,22],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},_SLASH_:{WEDGES:{permutation:[0,1,2,3,4,5,12,13,14,15,16,17,6,7,8,9,10,11,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,3]}}}}});var y2={};Ue(y2,{default:()=>O1});var O1,U2=U(()=>{O1=`<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"360px\" height=\"552px\" viewBox=\"0 0 360 552\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->\n <title>sq1-fancy</title>\n <desc>Created with Sketch.</desc>\n <!-- stroke=\"none\" -->\n <g id=\"sq1-fancy\" stroke=\"#888\" stroke-width=\"0.25\" fill=\"none\" fill-rule=\"evenodd\">\n <g id=\"EQUATOR\" transform=\"translate(24.000000, 264.000000)\">\n <rect id=\"EQUATOR-l1-o3\" style=\"fill: red\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o4\" style=\"fill: red\" x=\"192\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o5\" style=\"fill: limegreen\" x=\"216\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o2\" style=\"fill: limegreen\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o1\" style=\"fill: limegreen\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l1-o0\" style=\"fill: orange\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o3\" style=\"fill: orange\" x=\"0\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o4\" style=\"fill: orange\" x=\"24\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o5\" style=\"fill: limegreen\" x=\"48\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o2\" style=\"fill: limegreen\" x=\"72\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o1\" style=\"fill: limegreen\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"></rect>\n <rect id=\"EQUATOR-l0-o0\" style=\"fill: red\" x=\"120\" y=\"0\" width=\"24\" height=\"24\"></rect>\n </g>\n <g id=\"BOTTOM\" transform=\"translate(41.000000, 257.000000)\" stroke-linejoin=\"round\">\n <g id=\"WEDGES-23\" transform=\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\">\n <polygon id=\"WEDGES-l23-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l23-o7\" style=\"fill: red\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l23-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l23-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l23-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l23-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l23-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l23-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l23-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-22\" transform=\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\">\n <polygon id=\"WEDGES-l22-o8\" style=\"fill: blue\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l22-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l22-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l22-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l22-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l22-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l22-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l22-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l22-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-21\" transform=\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\">\n <polygon id=\"WEDGES-l21-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l21-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l21-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l21-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l21-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l21-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l21-o2\" style=\"fill: blue\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l21-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l21-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-20\" transform=\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\">\n <polygon id=\"WEDGES-l20-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l20-o7\" style=\"fill: blue\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l20-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l20-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l20-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l20-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l20-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l20-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l20-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-19\" transform=\"translate(67.157677, 163.157677)\">\n <polygon id=\"WEDGES-l19-o8\" style=\"fill: orange\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l19-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l19-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l19-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l19-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l19-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l19-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l19-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l19-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-18\" transform=\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\">\n <polygon id=\"WEDGES-l18-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l18-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l18-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l18-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l18-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l18-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l18-o2\" style=\"fill: orange\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l18-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l18-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-17\" transform=\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\">\n <polygon id=\"WEDGES-l17-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l17-o7\" style=\"fill: orange\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l17-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l17-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l17-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l17-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l17-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l17-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l17-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-16\" transform=\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\">\n <polygon id=\"WEDGES-l16-o8\" style=\"fill: limegreen\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l16-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l16-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l16-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l16-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l16-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l16-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l16-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l16-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-15\" transform=\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\">\n <polygon id=\"WEDGES-l15-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l15-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l15-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l15-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l15-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l15-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l15-o2\" style=\"fill: limegreen\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l15-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l15-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-14\" transform=\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\">\n <polygon id=\"WEDGES-l14-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l14-o7\" style=\"fill: limegreen\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l14-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l14-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l14-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l14-o3\" style=\"fill: white\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l14-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l14-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l14-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-13\" transform=\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\">\n <polygon id=\"WEDGES-l13-o8\" style=\"fill: red\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l13-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l13-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l13-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l13-o4\" style=\"fill: white\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l13-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l13-o2\" style=\"fill: white\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l13-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l13-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-12\" transform=\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\">\n <polygon id=\"WEDGES-l12-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l12-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l12-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l12-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l12-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l12-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l12-o2\" style=\"fill: red\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l12-o1\" style=\"fill: white\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l12-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n </g>\n <g id=\"TOP\" transform=\"translate(41.000000, -31.000000)\" stroke-linejoin=\"round\">\n <g id=\"WEDGES-11\" transform=\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\">\n <polygon id=\"WEDGES-l11-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l11-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l11-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l11-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l11-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l11-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l11-o2\" style=\"fill: red\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l11-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l11-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-10\" transform=\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\">\n <polygon id=\"WEDGES-l10-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l10-o7\" style=\"fill: red\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l10-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l10-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l10-o4\" style=\"fill: red\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l10-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l10-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l10-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l10-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-9\" transform=\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\">\n <polygon id=\"WEDGES-l9-o8\" style=\"fill: limegreen\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l9-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l9-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l9-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l9-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l9-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l9-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l9-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l9-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-8\" transform=\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\">\n <polygon id=\"WEDGES-l8-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l8-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l8-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l8-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l8-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l8-o3\" style=\"fill: limegreen\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l8-o2\" style=\"fill: limegreen\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l8-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l8-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-7\" transform=\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\">\n <polygon id=\"WEDGES-l7-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l7-o7\" style=\"fill: limegreen\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l7-o6\" style=\"fill: limegreen\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l7-o5\" style=\"fill: limegreen\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l7-o4\" style=\"fill: limegreen\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l7-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l7-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l7-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l7-o0\" style=\"fill: limegreen\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-6\" transform=\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\">\n <polygon id=\"WEDGES-l6-o8\" style=\"fill: orange\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l6-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l6-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l6-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l6-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l6-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l6-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l6-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l6-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-5\" transform=\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\">\n <polygon id=\"WEDGES-l5-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l5-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l5-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l5-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l5-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l5-o3\" style=\"fill: orange\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l5-o2\" style=\"fill: orange\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l5-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l5-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-4\" transform=\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\">\n <polygon id=\"WEDGES-l4-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l4-o7\" style=\"fill: orange\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l4-o6\" style=\"fill: orange\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l4-o5\" style=\"fill: orange\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l4-o4\" style=\"fill: orange\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l4-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l4-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l4-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l4-o0\" style=\"fill: orange\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-3\" transform=\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\">\n <polygon id=\"WEDGES-l3-o8\" style=\"fill: blue\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l3-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l3-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l3-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l3-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l3-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l3-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l3-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l3-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-2\" transform=\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\">\n <polygon id=\"WEDGES-l2-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l2-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l2-o6\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l2-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l2-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l2-o3\" style=\"fill: blue\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l2-o2\" style=\"fill: blue\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l2-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l2-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-1\" transform=\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\">\n <polygon id=\"WEDGES-l1-o8\" style=\"fill: #D8D8D8\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l1-o7\" style=\"fill: blue\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l1-o6\" style=\"fill: blue\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l1-o5\" style=\"fill: blue\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l1-o4\" style=\"fill: blue\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l1-o3\" style=\"fill: yellow\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l1-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l1-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l1-o0\" style=\"fill: blue\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n <g id=\"WEDGES-0\" transform=\"translate(67.157677, 163.157677)\">\n <polygon id=\"WEDGES-l0-o8\" style=\"fill: red\" points=\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\"></polygon>\n <polygon id=\"WEDGES-l0-o7\" style=\"fill: #D8D8D8\" points=\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\"></polygon>\n <polygon id=\"WEDGES-l0-o6\" style=\"fill: red\" points=\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\"></polygon>\n <polygon id=\"WEDGES-l0-o5\" style=\"fill: red\" points=\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\"></polygon>\n <polygon id=\"WEDGES-l0-o4\" style=\"fill: yellow\" points=\"60.8615 35.1385 68.287 47.9995 48 48\"></polygon>\n <polygon id=\"WEDGES-l0-o3\" style=\"fill: red\" points=\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\"></polygon>\n <polygon id=\"WEDGES-l0-o2\" style=\"fill: yellow\" points=\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l0-o1\" style=\"fill: yellow\" points=\"96 0 83.1384388 48 60.8615612 35.1384388\"></polygon>\n <polygon id=\"WEDGES-l0-o0\" style=\"fill: red\" points=\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\"></polygon>\n </g>\n </g>\n <g id=\"DIAGONALS\" transform=\"translate(168.861561, 1.019238)\" stroke=\"#000000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\n <line x1=\"0\" y1=\"287.842323\" x2=\"70.2768775\" y2=\"550.119201\" id=\"BOTTOM\"></line>\n <line x1=\"0.15767665\" y1=\"262.276878\" x2=\"70.4345542\" y2=\"2.27488928e-16\" id=\"TOP\"></line>\n </g>\n </g>\n</svg>`});var b2,S2=U(()=>{Ve();Xn();b2={id:\"square1\",fullName:\"Square-1\",inventedBy:[\"Karel Hr\\u0161el\",\"Vojtech Kopsk\\xFD\"],inventionYear:1990,kpuzzle:$t(async()=>new Ie((await Promise.resolve().then(()=>(h2(),A2))).sq1HyperOrbitKPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>(U2(),y2))).default}});var he,Ot=U(()=>{a0();Ve();en();xr();X0();r2();a2();L2();p2();F2();S2();Zn();he={\"3x3x3\":$i,\"2x2x2\":io,\"4x4x4\":sn(\"4x4x4\",\"4\\xD74\\xD74 Cube\"),\"5x5x5\":sn(\"5x5x5\",\"5\\xD75\\xD75 Cube\"),\"6x6x6\":sn(\"6x6x6\",\"6\\xD76\\xD76 Cube\"),\"7x7x7\":sn(\"7x7x7\",\"7\\xD77\\xD77 Cube\"),\"40x40x40\":sn(\"40x40x40\",\"40\\xD740\\xD740 Cube\"),clock:s2,megaminx:so,pyraminx:d2,skewb:Sr(\"skewb\",\"Skewb\",{inventedBy:[\"Tony Durham\"]}),square1:b2,fto:es,gigaminx:Sr(\"gigaminx\",\"Gigaminx\",{inventedBy:[\"Tyler Fox\"],inventionYear:2006}),master_tetraminx:Sr(\"master tetraminx\",\"Master Tetraminx\",{inventedBy:[\"Katsuhiko Okamoto\"],inventionYear:2002})}});function w2(e){x2=e}function tt(){if(!x2)throw new Error(\"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\")}var x2,_t=U(()=>{x2=!1});async function v2(){return globalThis?.crypto?.getRandomValues?crypto.getRandomValues.bind(crypto):(await(_1??(_1=import(\"crypto\")))).webcrypto.getRandomValues}var _1,E2=U(()=>{_1=null});function Q1(e){let t=new Uint32Array(2);e(t);let r=t[0],n=t[1];return Math.floor(r*W1)+Math.floor(n/K1)}function j1(e){if(typeof e!=\"number\"||e<0||Math.floor(e)!==e)throw new Error(\"randomInt.below() not called with a positive integer value.\");if(e>k2)throw new Error(`Called randomInt.below() with max == ${e}, which is larger than JavaScript can handle with integer precision.`)}async function st(){let e=await v2(),t=r=>{j1(r);let n=Q1(e),o=Math.floor(k2/r)*r;return n<o?n%r:t(r)};return t}var k2,W1,K1,Rl=U(()=>{E2();k2=9007199254740992,W1=2097152,K1=2048});async function Wt(){let e=await st();return t=>t[e(t.length)]}var z2=U(()=>{Rl()});async function C2(e){for(let t=1;t<e.length;t++){let r=(await q1)(t);[e[t],e[r]]=[e[r],e[t]]}}var q1,rr=U(()=>{z2();Rl();Rl();q1=st()});function zt(e,t){let r=[],n=[];for(let f of t.split(`\n`)){let g=f.split(\" \");if(!f.startsWith(\"SetOrder \")){if(f.startsWith(\"Alg \")){let L=k.fromString(f.substring(4));n.push({alg:L,transformation:e.algToTransformation(L)})}else if(f.startsWith(\"SubgroupSizes \"))for(let L=1;L<g.length;L++)r.push(parseInt(g[L]))}}let o={ordering:new Array(r.length)},l=[],i=0;l.push(0);let s=k.fromString(\"\"),u=e.identityTransformation();for(let f=0;f<r.length;f++)i+=r[f],l.push(i),n.splice(i-1,0,{alg:s,transformation:u});if(n.length!==i)throw Error(`Bad sgs; expected ${i-r.length} algs but saw ${n.length-r.length}`);let a={};for(let f in e.definition.orbits){let g=e.definition.orbits[f];a[f]=new Array(g.numPieces).fill(!1)}for(let f=r.length-1;f>=0;f--){let g=[];for(let B=l[f];B<l[f+1];B++){let p=n[B].transformation;for(let m in e.definition.orbits){let F=e.definition.orbits[m];for(let A=0;A<F.numPieces;A++)(p.transformationData[m].permutation[A]!==A||p.transformationData[m].orientation[A]!==0)&&(a[m][A]||(g.push({orbitName:m,permutationIdx:A}),a[m][A]=!0))}}let L={};for(let B=l[f];B<l[f+1];B++){let p=n[B].transformation.invert(),m=\"\";for(let F=0;F<g.length;F++){let A=g[F];m=`${m} ${p.transformationData[A.orbitName].permutation[A.permutationIdx]} ${p.transformationData[A.orbitName].orientation[A.permutationIdx]}`}L[m]=n[B],n[B].alg=n[B].alg.invert(),n[B].transformation=n[B].transformation.invert()}o.ordering[f]={pieceOrdering:g,lookup:L}}return o}var un=U(()=>{Ae()});var N2={};Ue(N2,{cachedData222:()=>tL,data222:()=>I2});async function tL(){return eL??(eL=I2())}async function I2(){return zt(await io.kpuzzle(),`SubgroupSizes 24 21 18 15 12 9 6\n\nAlg F\nAlg F2\nAlg F'\nAlg D\nAlg D2\nAlg D'\nAlg L\nAlg L2\nAlg L'\nAlg F U\nAlg F U2\nAlg F U'\nAlg F L\nAlg F L2\nAlg F L'\nAlg F2 U\nAlg F2 U'\nAlg F2 R\nAlg F2 R'\nAlg F' D\nAlg F' D'\nAlg F' R\nAlg F' R'\nAlg B\nAlg B2\nAlg B'\nAlg B R\nAlg B R2\nAlg B R'\nAlg B2 U\nAlg B2 U2\nAlg B2 U'\nAlg B2 R\nAlg B2 R2\nAlg B2 R'\nAlg B' U\nAlg B' U'\nAlg F D' F'\nAlg F2 L F2\nAlg B R' B2\nAlg B R' U2\nAlg B2 U R'\nAlg B2 R B'\nAlg R\nAlg R2\nAlg R'\nAlg R2 U\nAlg R2 U2\nAlg R2 U'\nAlg R' U\nAlg R' U2\nAlg R' U'\nAlg F R F'\nAlg F R2 F'\nAlg L2 D' L2\nAlg L' B L\nAlg R2 U' R\nAlg R' U R2\nAlg R' U R'\nAlg F R F' U2\nAlg F' U F\nAlg F' U2 F\nAlg F' U' F\nAlg L F L'\nAlg L F2 L'\nAlg L F' L'\nAlg F' D R D'\nAlg F' U2 F U'\nAlg F D2 B D2 F'\nAlg F2 D' L2 D F2\nAlg F2 L F L' F\nAlg L' F2 L' F2 L\nAlg F L' U' L2 F L'\nAlg F2 L F L' U2 F\nAlg U\nAlg U2\nAlg U'\nAlg F2 D2 B D2 F2\nAlg F2 D2 B' D2 F2\nAlg L2 D2 R D2 L2\nAlg L2 D2 R' D2 L2\nAlg F2 D2 B D2 F2 U\nAlg F2 D2 B D2 F2 U'\nAlg U F2 D2 B D2 F2\nAlg U F2 D2 B' D2 F2\nAlg F D B D' R' F' U\nAlg F' D L F U B' L'\nAlg F' L' F U L U L'\nAlg D' L F D R' U' F'\nAlg L F L' U' F' U' F\nAlg L D' F' L' U' R F\nAlg F D F U F' L' F' R'\nAlg F2 D' F L F2 D F' R'\nAlg F D' F L' D F R2 U2 F' U'\nAlg F D' L D' L F D2 L2 B' R'\nAlg F L' D F R2 D2 L D F' U2\nAlg F L' D F2 D' L F L2 F2 U\nAlg F D F' D L2 F R' F' D' B2 U'`)}var eL,O2=U(()=>{Ot();un();eL=null});async function fn(e,t){let r=new ut;r.experimentalPushAlg(e);for(let n of t){let o=(await Wt())(n);o!==null&&r.push(c.fromString(o))}return r.toAlg()}var Dl=U(()=>{Ae();rr()});function j2(e,t){return e.slice(t)+e.slice(0,t)}function uL(e){let t=[[],[]];for(let r=0;r<6;r++)if(e.stateData.CENTERS.pieces[r]!==r)throw new Error(\"non-oriented puzzles are not supported\");for(let r=0;r<12;r++)t[0].push(j2(lL[e.stateData.EDGES.pieces[r]],e.stateData.EDGES.orientation[r]));for(let r=0;r<8;r++)t[1].push(j2(iL[e.stateData.CORNERS.pieces[r]],e.stateData.CORNERS.orientation[r]));return t.push(sL),t}function q2(e){let t=uL(e);return aL.map(([r,n,o])=>t[r][n][o]).join(\"\")}var lL,iL,sL,aL,V2=U(()=>{lL=\"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \"),iL=\"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \"),sL=\"U L F R B D\".split(\" \"),aL=[[1,2,0],[0,2,0],[1,1,0],[0,3,0],[2,0,0],[0,1,0],[1,3,0],[0,0,0],[1,0,0],[1,0,2],[0,1,1],[1,1,1],[0,8,1],[2,3,0],[0,10,1],[1,4,1],[0,5,1],[1,7,2],[1,3,2],[0,0,1],[1,0,1],[0,9,0],[2,2,0],[0,8,0],[1,5,1],[0,4,1],[1,4,2],[1,5,0],[0,4,0],[1,4,0],[0,7,0],[2,5,0],[0,5,0],[1,6,0],[0,6,0],[1,7,0],[1,2,2],[0,3,1],[1,3,1],[0,11,1],[2,1,0],[0,9,1],[1,6,1],[0,7,1],[1,5,2],[1,1,2],[0,2,1],[1,2,1],[0,10,0],[2,4,0],[0,11,0],[1,7,1],[0,6,1],[1,6,2]]});function H2(e,t){let r=new Be(e.kpuzzle,{EDGES:e.stateData.EDGES,CORNERS:e.stateData.CORNERS,CENTERS:{pieces:e.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation(),n=new Be(t.kpuzzle,{EDGES:t.stateData.EDGES,CORNERS:t.stateData.CORNERS,CENTERS:{pieces:t.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation();return r.isIdentical(n)}function Y2(e,t){if(H2(e.startState(),t))return!1;for(let r of\"ULFRBD\")for(let n=1;n<4;n++){let o=e.moveToTransformation(new c(r,n)).toKState();if(H2(o,t))return!1}return!0}var Z2=U(()=>{Ae();Ve()});var X2,J2=U(()=>{X2=[[\"R U'\",\"R2 B\",\"D2 B2\",\"D' L B'\",\"R' U'\",\"B\",\"D B2\",\"R' B\",\"L' U\",\"L2 B'\",\"B2\",\"D L B'\",\"L U\",\"B'\",\"U'\",\"R B\",\"D' B2\",\"L B'\",\"U2\",\"U L' B'\",\"\",\"U' L' B'\",\"U\",\"L' B'\"],[\"F2 L2\",\"F' L'\",\"R' F L2\",\"D' L2\",\"F L2\",\"F2 L'\",\"R' F' L'\",\"R2 F L2\",\"R2 F2 L'\",\"L2\",\"F L'\",\"D' L\",\"D2 L2\",\"R2 F' L'\",\"D L\",\"\",\"L2 F L'\",\"L F' L2\",\"L F L'\",\"F' L2\",\"L'\",\"D L2\",\"D F L'\",\"L\"],[\"R B U2 B'\",\"R2 B U' B'\",\"F2 B U B'\",\"F B2 L' B2\",\"B2 L B2\",\"B U' B'\",\"R2 B U2 B'\",\"R' B U' B'\",\"B2 L' B2\",\"F B U B'\",\"B2 U' B2\",\"B' L B\",\"L F' B D' B'\",\"B' U' B2 D B'\",\"B U2 B'\",\"R B U' B'\",\"B2 L2 B2\",\"D' B' L B\",\"B U B'\",\"F' B2 L' B2\",\"\",\"B2 L' B' U' B'\"],[\"U F2 L2 U'\",\"F' U L' U'\",\"F2 U L' U'\",\"U F L2 U'\",\"U2 B2 U2\",\"R' U' B U\",\"D2 U L U'\",\"D U2 B' U2\",\"U L2 U'\",\"F U L' U'\",\"D U L U'\",\"U2 B' U2\",\"\",\"U2 B' U' L' U'\",\"U2 L' U2\",\"U' B U\",\"U L U'\",\"D' U2 B' U2\",\"U L' U'\",\"U2 B U2\"],[\"R' D' F2\",\"F'\",\"F2\",\"D R F'\",\"R D' F2\",\"R2 F'\",\"D' F2\",\"R F'\",\"F2 R' D' F2\",\"F\",\"D2 F2\",\"D' R F'\",\"R2 D' F2\",\"R' F'\",\"D F2\",\"D2 R F'\",\"\",\"F R' D' F2\"],[\"R' D2 F' D F\",\"R F2 R2 F2\",\"R2 F' D2 F\",\"F' R2 D2 F\",\"L D' L'\",\"D F' D2 F\",\"F2 R2 F2\",\"R F' D2 F\",\"F' R2 D' F\",\"F' R' D2 F\",\"F2 R' F2\",\"L D L'\",\"F' R D' F\",\"F2 R F2\",\"F' D2 F\",\"\",\"L D2 R D' L'\",\"F' D2 F' R F2\",\"D2 R2 F2 R2 F2\",\"D F' D' F\",\"F' D F\"],[\"U F2 U'\",\"R U F' U'\",\"D R U F2 U'\",\"U F U'\",\"R2 U F2 U'\",\"R' U F' U'\",\"R U F2 U'\",\"R2 U F' U'\",\"\",\"U L D L' F U'\",\"F2 D' R D F2\",\"D2 U F U'\",\"R' U F2 U'\",\"U F' U'\",\"F2 D2 R D2 F2\",\"D U F U'\"],[\"R2\",\"R' B' D B\",\"D R'\",\"F' R2 F\",\"\",\"R B' D B\",\"R'\",\"B' D B\",\"D' R'\",\"D2 F' R2 F\",\"R\",\"R2 B' D B\",\"D2 R'\",\"B' D' B\"],[\"R2 D' R2\",\"F' R' F R\",\"R D' R2 D R'\",\"D2 R2 D2 R2\",\"R' D' F' R F\",\"U F D F' U'\",\"\",\"R2 D2 B R' B' R'\",\"R' F D' F2 R F\",\"R2 D R2\",\"F2 U F U' F\",\"R' D F' R F\",\"D R2 D2 R2\",\"U F D' F' U'\",\"D R' D2 F' R F\",\"R2 D2 R2\",\"U F D2 F' U'\",\"R' D2 F' R F\"],[\"B R B'\",\"F D F' B R2 B'\",\"D B R2 B'\",\"D2 B R' B'\",\"B R2 B'\",\"D B R' B'\",\"D' B R2 B'\",\"B R' B'\",\"\",\"B R2 B' D B R' B'\",\"D2 B R2 B'\",\"D' B R' B'\"],[\"\",\"R' D R F D2 F'\",\"R' D R\",\"D F D' F'\",\"R F' R' F\",\"F D' F'\",\"R' D' R\",\"F D2 F'\",\"R' D2 R\",\"F D F'\"],[\"\",\"F2 D2 R F' R' D2 F' D2 F'\",\"F2 D2 F' D' F D' F' D2 F'\",\"F2 D F2 D F2 D2 F2\",\"D2 F L D2 L' D2 F'\",\"D F D2 L D2 L' F'\",\"R' D B' D2 B D' R\",\"R' D2 B' D2 B R\",\"F D2 F' D F D F'\",\"F D' L D2 L' D F'\",\"B D' F D B' D' F'\",\"F D2 L D2 L' F'\",\"F D' L D L' D F'\",\"F L D2 L' D2 F'\",\"R' B' D2 B D2 R\"],[\"D'\",\"F L D L' D' F'\",\"D2\",\"L B D B' D' L'\",\"D\",\"B' L' D' L D B\",\"\",\"D F L D L' D' F'\"],[\"F' D2 F D F' D F\",\"F' D' R' D R F\",\"F' R' D' R D F\",\"B D R D' R' B'\",\"\",\"D B' D' L' D L B\"],[\"D F D F' D F D2 F'\",\"F' U2 B' R' B U2 F' L F' L' F'\",\"\",\"D2 L D L2 F L F2 D F\"],[\"L B' L' F L B L' F'\",\"F2 U F' D2 F U' F' D2 F'\",\"D' F' D B D' F D B'\",\"F L2 F R2 F' L2 F R2 F2\",\"D B D' F' D B' D' F\",\"R F L F' R' F L' F'\",\"\",\"D2 B L' U2 L B' D2 B L' U2 L B'\",\"D2 F R' U2 R F' D2 F R' U2 R F'\",\"R F L' F' R' F L F'\",\"D F D' B' D F' D' B\",\"L2 F2 L' B2 L F2 L' B2 L'\"],[\"L B R' B' L' B R B'\",\"R' B R F' R' B' R F\",\"L D2 L U L' D2 L U' L2\",\"\",\"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\",\"L B L' F L B' L' F'\",\"F' D2 F' U' F D2 F' U F2\",\"D' B' D F D' B D F'\"],[\"\",\"D2 F' L U2 L' F D2 F' L U2 L' F\",\"D2 B' R U2 R' B D2 B' R U2 R' B\"]]});var Eu={};Ue(Eu,{initialize:()=>$L,solveState:()=>eB});function $2(){}function gL(e){function t(){}return t.prototype=e||{},new t}function LL(e){return e instanceof Array?e[0]:null}function uo(e,t,r){var n=dl,o=BL,l=LL,i=n[e],s=l(i);i&&!s?q=i:(q=n[e]=t?o(t):{},q.castableTypeMap$=r,q.constructor=q,!t&&(q.typeMarker$=$2));for(var u=3;u<arguments.length;++u)arguments[u].prototype=q;s&&(q.___clazz$=s)}function BL(e){var t=dl;return gL(t[e])}function mL(){}function Fl(e){return e<<24>>24}function os(){this.typeName=null,this.simpleName=null,this.packageName=null,this.compoundName=null,this.canonicalName=null,this.typeId=null,this.arrayLiterals=null}function ls(e,t){var r;return r=new os,r.packageName=e,r.compoundName=t,r}function or(e,t,r){var n;return n=ls(e,t),RL(r,n),n}function cL(e,t){var r;return r=ls(e,t),r.modifiers=2,r}function Al(e,t){var r;return r=ls(\"\",e),r.typeId=t,r.modifiers=1,r}function eu(e,t){var r=e.arrayLiterals=e.arrayLiterals||[];return r[t]||(r[t]=e.createClassLiteralForArray(t))}function pL(e){if(e.isPrimitive())return null;var t=e.typeId,r=dl[t];return r}function RL(e,t){if(!!e){t.typeId=e;var r=pL(t);if(!r){dl[e]=[t];return}r.___clazz$=t}}function X(e,t){return eu(e,t)}function Y(e,t,r,n,o,l){var i;return i=ru(o,n),J(X(e,l),t,r,o,i),i}function Ye(e,t,r,n,o,l){return tu(e,t,r,n,o,0,l)}function tu(e,t,r,n,o,l,i){var s,u,a,f,g;if(f=o[l],a=l==i-1,s=a?n:0,g=ru(s,f),J(X(e,i-l),t[l],r[l],s,g),!a)for(++l,u=0;u<f;++u)g[u]=tu(e,t,r,n,o,l,i);return g}function J(e,t,r,n,o){return o.___clazz$=e,o.castableTypeMap$=t,o.typeMarker$=$2,o.__elementTypeId$=r,o.__elementTypeCategory$=n,o}function ru(e,t){var r=new Array(t),n;switch(e){case 6:n={l:0,m:0,h:0};break;case 7:n=0;break;case 8:n=!1;break;default:return r}for(var o=0;o<t;++o)r[o]=n;return r}function nu(e){var t,r,n;return t=e&He,r=e>>22&He,n=e<0?nr:0,DL(t,r,n)}function DL(e,t,r){return{l:e,m:t,h:r}}function dL(e,t){var r,n,o;return r=e.l+t.l,n=e.m+t.m+(r>>22),o=e.h+t.h+(n>>22),{l:r&He,m:n&He,h:o&nr}}function Ct(e,t){return{l:e.l&t.l,m:e.m&t.m,h:e.h&t.h}}function is(e){var t,r;return e>-129&&e<128?(t=e+128,yl==null&&(yl=Y(XL,se,293,256,0,1)),r=yl[t],!r&&(r=yl[t]=nu(e)),r):nu(e)}function ou(e,t){var r,n;return r=e.h>>19,n=t.h>>19,r==0?n!=0||e.h>t.h||e.h==t.h&&e.m>t.m||e.h==t.h&&e.m==t.m&&e.l>=t.l:!(n==0||e.h<t.h||e.h==t.h&&e.m<t.m||e.h==t.h&&e.m==t.m&&e.l<t.l)}function ss(e,t){return e.l!=t.l||e.m!=t.m||e.h!=t.h}function as(e,t){return{l:e.l|t.l,m:e.m|t.m,h:e.h|t.h}}function hl(e,t){var r,n,o;return t&=63,t<22?(r=e.l<<t,n=e.m<<t|e.l>>22-t,o=e.h<<t|e.m>>22-t):t<44?(r=0,n=e.l<<t-22,o=e.m<<t-22|e.l>>44-t):(r=0,n=0,o=e.l<<t-44),{l:r&He,m:n&He,h:o&nr}}function wr(e,t){var r,n,o,l,i;return t&=63,r=e.h,n=(r&fL)!=0,n&&(r|=-1048576),t<22?(i=r>>t,l=e.m>>t|r<<22-t,o=e.l>>t|e.m<<22-t):t<44?(i=n?nr:0,l=r>>t-22,o=e.m>>t-22|r<<44-t):(i=n?nr:0,l=n?He:0,o=r>>t-44),{l:o&He,m:l&He,h:i&nr}}function lu(e,t){var r,n,o;return r=e.l-t.l,n=e.m-t.m+(r>>22),o=e.h-t.h+(n>>22),{l:r&He,m:n&He,h:o&nr}}function vr(e){return e.l|e.m<<22}function FL(e){this.string=e}function lr(e,t){return e>t?e:t}function us(e,t){return e<t?e:t}function AL(e,t){return e.indexOf(t)}function hL(e){return yL(e,0,e.length)}function yL(e,t,r){for(var n=\"\",o=t;o<r;){var l=Math.min(o+1e4,r);n+=String.fromCharCode.apply(null,e.slice(o,l)),o=l}return n}function UL(e){return String.fromCharCode(e&Oe)}function iu(e){return e.string+=\" \",e}function su(e,t){return e.string+=t,e}function SL(){FL.call(this,\"\")}function Ul(e,t){var r;if(e===t)return!0;if(e.length!=t.length)return!1;for(r=0;r<e.length;++r)if(e[r]!=t[r])return!1;return!0}function Er(){au||(au=!0,sr=Ye(De,[se,Re],[11,0],7,[495,18],2),Rn=Ye(De,[se,Re],[11,0],7,[324,18],2),mn=Ye(De,[se,Re],[11,0],7,[336,18],2),ir=Ye(De,[se,Re],[11,0],7,[495,8],2),xl=Y(Ee,ve,0,20048,7,1),Sl=Y(Ee,ve,0,20791,7,1),pn=Y(Ee,ve,0,82945,7,1),gn=Ye(De,[se,Re],[11,0],7,[2768,10],2),Bn=Ye(De,[se,Re],[11,0],7,[2768,10],2),cn=Ye(De,[se,Re],[11,0],7,[24,10],2),Lo=Ye(De,[se,Re],[11,0],7,[24,16],2),kr=Ye(De,[se,Re],[11,0],7,[140,16],2),bl=Y(Ee,ve,0,8305,7,1),Ln=Y(Ee,ve,0,48441,7,1))}function xL(e,t,r){return e.slice_0=sr[t.slice_0][r],e.flip=mn[t.flip][(Z(),Cr)[r<<3|t.fsym]],e.fsym=e.flip&7^t.fsym,e.flip>>=3,e.twist=Rn[t.twist][Cr[r<<3|t.tsym]],e.tsym=e.twist&7^t.tsym,e.twist>>=3,e.prun=lr(lr(rt(xl,e.twist*495+ir[e.slice_0][e.tsym]),rt(Sl,e.flip*495+ir[e.slice_0][e.fsym])),rt(pn,e.twist<<11|fr[e.flip<<3|e.fsym^e.tsym])),e.prun}function wL(e,t,r){return r=(Z(),co)[3][r],e.flipc=mn[t.flipc>>3][Cr[r<<3|t.flipc&7]]^t.flipc&7,e.twistc=Rn[t.twistc>>3][Cr[r<<3|t.twistc&7]]^t.twistc&7,rt(pn,e.twistc>>3<<11|fr[e.flipc^e.twistc&7])}function uu(e,t,r){var n;return e.twist=(Z(),po)[kl(t)],e.flip=zr[El(t)],e.tsym=e.twist&7,e.twist=e.twist>>3,e.prun=rt(pn,e.twist<<11|fr[e.flip^e.tsym]),e.prun>r||(e.fsym=e.flip&7,e.flip=e.flip>>3,e.slice_0=494-Fn(t.ea,8,!0),e.prun=lr(e.prun,lr(rt(xl,e.twist*495+ir[e.slice_0][e.tsym]),rt(Sl,e.flip*495+ir[e.slice_0][e.fsym]))),e.prun>r)?!1:(n=new ue,Bo(t,1,n),mo(t,1,n),e.twistc=po[kl(n)],e.flipc=zr[El(n)],e.prun=lr(e.prun,rt(pn,e.twistc>>3<<11|fr[e.flipc^e.twistc&7])),e.prun<=r)}function fo(){Er()}function rt(e,t){return Er(),e[t>>3]>>(t<<2)&15}function fu(e){Er(),!(wl==2||wl==1&&!e)&&(wl==0&&(_L(),vL(),kL(),CL(),EL(),Z(),cs(2048,ps,zr,Ru=Y(De,Re,0,336,7,1),0),cs(2187,Fs,po,ds=Y(De,Re,0,324,7,1),1),zL(),PL(),ML()),go(bl,cn,Lo,gn,(Z(),Ds),584244,e),go(Ln,fs,kr,Bn,Ds,514084,e),go(xl,sr,ir,Rn,ds,431619,e),go(Sl,sr,ir,mn,Ru,431619,e),go(pn,null,null,Rn,ds,103939,e),wl=e?2:1)}function vL(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<2768;r++)for(IL(e,(Z(),Dn)[r]),n=0;n<10;n++)ar(e,fe[(Ke(),ht)[n]],t),gn[r][n]=Pl(Qt[ot(t.ca,8,!1)])&Oe}function EL(){var e,t,r,n,o;for(e=new ue,t=new ue,fs=Ye(De,[se,Re],[11,0],7,[140,10],2),r=0;r<140;r++){for(Su(e.ca,r%70,0,!1),o=0;o<10;o++)ar(e,(Z(),fe)[(Ke(),ht)[o]],t),fs[r][o]=Fn(t.ca,0,!1)+70*(165>>o&1^~~(r/70))&Oe;for(n=0;n<16;n++)Bo(e,(Z(),nt)[0][n],t),kr[r][n]=Fn(t.ca,0,!1)+70*~~(r/70)&Oe}}function kL(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<2768;r++)for(mu(e,(Z(),Dn)[r]),n=0;n<10;n++)Lt(e,fe[(Ke(),ht)[n]],t),Bn[r][n]=Qt[ot(t.ea,8,!0)]}function zL(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<336;r++)for(Bs(e,(Z(),ps)[r]),n=0;n<18;n++)Lt(e,fe[n],t),mn[r][n]=zr[El(t)]}function CL(){var e,t,r,n,o;for(e=new ue,t=new ue,r=0;r<24;r++){for(Pr(e.ea,r,12,!0),o=0;o<10;o++)Lt(e,(Z(),fe)[(Ke(),ht)[o]],t),cn[r][o]=ot(t.ea,12,!0)%24&Oe;for(n=0;n<16;n++)mo(e,(Z(),nt)[0][n],t),Lo[r][n]=ot(t.ea,12,!0)%24&Oe}}function go(e,t,r,n,o,l,i){var s,u,a,f,g,L,B,p,m,F,A,b,h,C,E,j,te,I,re,y,z,M,x,w,P,K,H,ge,me,Fe,ye,xt,ze,Xe,xe,d;if(h=l&15,A=(l>>4&1)==1?ns:0,a=(l>>5&1)==1,s=l>>8&15,f=l>>12&15,g=l>>16&15,F=i?f:g,b=(1<<h)-1,u=t==null,p=u?2048:t.length,m=p*n.length,B=a?10:18,L=B==10?66:599186,E=(e[m>>3]>>(m<<2)&15)-1,E==-1){for(I=0;I<~~(m/8)+1;I++)e[I]=ao;e[0]^=1,E=0}for(;E<F;){for(P=(E+1)*ao^-1,re=0;re<e.length;re++)xe=e[re]^P,xe&=xe>>1,e[re]+=xe&xe>>2&ao;for(M=E>s,Fe=M?E+2:E,me=Fe*ao,C=M?E:E+2,++E,d=E^E+1,Xe=0,I=0;I<m;++I,Xe>>=4){if((I&7)==0&&(Xe=e[I>>3],((Xe^me)-ao&~(Xe^me)&-2004318072)==0)){I+=7;continue}if((Xe&15)==Fe)for(H=I%p,ye=~~(I/p),j=0,te=0,u&&(j=(Z(),zr)[H],te=j&7,j>>=3),w=0;w<B;w++){if(ze=n[ye][w],u?ge=(Z(),fr)[mn[j][Cr[w<<3|te]]^te^ze&b]:ge=r[t[H][w]][ze&b],ze>>=h,y=ze*p+ge,K=e[y>>3]>>(y<<2)&15,K!=C){K<E-1&&(w+=L>>w&3);continue}if(M){e[I>>3]^=d<<(I<<2);break}for(e[y>>3]^=d<<(y<<2),x=1,xt=o[ze];(xt>>=1)!=0;x++)(xt&1)==1&&(z=ze*p,u?z+=(Z(),fr)[zr[ge]^x]:z+=r[ge][x^A>>(x<<1)&3],(e[z>>3]>>(z<<2)&15)==C&&(e[z>>3]^=d<<(z<<2)))}}}}function PL(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<324;r++)for(ms(e,(Z(),Fs)[r]),n=0;n<18;n++)ar(e,fe[n],t),Rn[r][n]=po[kl(t)]}function ML(){var e,t,r,n,o,l,i,s;for(e=new ue,t=new ue,n=0;n<495;n++){for(Su(e.ea,494-n,8,!0),l=0;l<18;l+=3)Lt(e,(Z(),fe)[l],t),sr[n][l]=494-Fn(t.ea,8,!0)&Oe;for(o=0;o<16;o+=2)mo(e,(Z(),nt)[0][o],t),ir[n][o>>1]=494-Fn(t.ea,8,!0)&Oe}for(r=0;r<495;r++)for(o=0;o<18;o+=3)for(s=sr[r][o],i=1;i<3;i++)s=sr[s][o],sr[r][o+i]=s&Oe}function Z(){gu||(gu=!0,Kt=Y(Ro,se,7,16,0,1),fe=Y(Ro,se,7,18,0,1),Gl=Y(JL,se,0,18,6,1),Du=Y(Ee,ve,0,48,7,1),jt=Ye(Ee,[se,ve],[17,0],7,[16,16],2),nt=Ye(Ee,[se,ve],[17,0],7,[16,16],2),co=Ye(Ee,[se,ve],[17,0],7,[16,18],2),Cr=Y(Ee,ve,0,144,7,1),gr=Ye(Ee,[se,ve],[17,0],7,[16,18],2),ps=Y(De,Re,0,336,7,1),Fs=Y(De,Re,0,324,7,1),Dn=Y(De,Re,0,2768,7,1),dn=Y(ee,le,0,2768,7,1),Rs=Y(De,Re,0,2768,7,1),Ml=Y(ee,le,0,24,7,1),zr=Y(De,Re,0,2048,7,1),po=Y(De,Re,0,2187,7,1),Qt=Y(De,Re,0,40320,7,1),fr=Y(De,Re,0,2688,7,1),As=new At(2531,1373,67026819,1367),hs=new At(2089,1906,322752913,2040),Tl=J(X(ee,2),se,10,0,[J(X(ee,1),le,0,7,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),J(X(ee,1),le,0,7,[6,7,8,0,1,2,3,4,5,15,16,17,9,10,11,12,13,14]),J(X(ee,1),le,0,7,[3,4,5,6,7,8,0,1,2,12,13,14,15,16,17,9,10,11]),J(X(ee,1),le,0,7,[2,1,0,5,4,3,8,7,6,11,10,9,14,13,12,17,16,15]),J(X(ee,1),le,0,7,[8,7,6,2,1,0,5,4,3,17,16,15,11,10,9,14,13,12]),J(X(ee,1),le,0,7,[5,4,3,8,7,6,2,1,0,14,13,12,17,16,15,11,10,9])]),OL(),WL())}function gs(e){e.ca=J(X(ee,1),le,0,7,[0,1,2,3,4,5,6,7]),e.ea=J(X(ee,1),le,0,7,[0,2,4,6,8,10,12,14,16,18,20,22])}function Lu(e){!e.temps&&(e.temps=new ue),ar(hs,e,e.temps),ar(e.temps,As,e),Lt(hs,e,e.temps),Lt(e.temps,As,e)}function Ls(e,t){var r,n;for(n=0;n<8;n++)e.ca[n]=t.ca[n];for(r=0;r<12;r++)e.ea[r]=t.ea[r]}function GL(e){return Pl(Qt[ot(e.ca,8,!1)])}function TL(e){return Qt[ot(e.ea,8,!0)]}function El(e){var t,r;for(r=0,t=0;t<11;t++)r=r<<1|e.ea[t]&1;return r}function kl(e){var t,r;for(r=0,t=0;t<7;t++)r+=(r<<1)+(e.ca[t]>>3);return r}function zl(e){var t,r;for(!e.temps&&(e.temps=new ue),r=0;r<12;r++)e.temps.ea[e.ea[r]>>1]=(r<<1|e.ea[r]&1)<<24>>24;for(t=0;t<8;t++)e.temps.ca[e.ca[t]&7]=(t|32>>(e.ca[t]>>3)&24)<<24>>24;Ls(e,e.temps)}function Bu(e){var t,r,n,o,l,i,s;for(t=new cu(e),o=new ue,r=Pl(Qt[ot(t.ca,8,!1)])>>4,i={l:0,m:0,h:0},s=0;s<6;s++){if(n=Pl(Qt[ot(t.ca,8,!1)])>>4,r==n)for(l=0;l<16;l++)Bo(t,nt[0][l],o),Ul(o.ca,e.ca)&&(mo(t,nt[0][l],o),Ul(o.ea,e.ea)&&(i=as(i,hl({l:1,m:0,h:0},(s<<4|l)<48?s<<4|l:48))));Lu(t),s%3==2&&zl(t)}return i}function IL(e,t){Pr(e.ca,t,8,!1)}function mu(e,t){Pr(e.ea,t,8,!0)}function Bs(e,t){var r,n,o;for(n=0,r=10;r>=0;--r,t>>=1)n^=o=t&1,e.ea[r]=(e.ea[r]&-2|o)<<24>>24;e.ea[11]=(e.ea[11]&-2|n)<<24>>24}function ms(e,t){var r,n,o;for(n=15,r=6;r>=0;--r,t=~~(t/3))n-=o=t%3,e.ca[r]=(e.ca[r]&7|o<<3)<<24>>24;e.ca[7]=(e.ca[7]&7|n%3<<3)<<24>>24}function NL(e){var t,r,n,o,l;for(l=0,o=0,n=0;n<12;n++)o|=1<<(e.ea[n]>>1),l^=e.ea[n]&1;if(o!=4095)return-2;if(l!=0)return-3;for(r=0,l=0,t=0;t<8;t++)r|=1<<(e.ca[t]&7),l+=e.ca[t]>>3;return r!=255?-4:l%3!=0?-5:(Us(ot(e.ea,12,!0),12)^Us(ot(e.ca,8,!1),8))!=0?-6:0}function Bo(e,t,r){Z();var n,o,l,i,s,u;for(u=Kt[nt[0][t]],s=Kt[t],n=0;n<8;n++)l=u.ca[e.ca[s.ca[n]&7]&7]>>3,i=e.ca[s.ca[n]&7]>>3,o=l<3?i:(3-i)%3,r.ca[n]=(u.ca[e.ca[s.ca[n]&7]&7]&7|o<<3)<<24>>24}function ar(e,t,r){Z();var n,o,l;for(n=0;n<8;n++)o=e.ca[t.ca[n]&7]>>3,l=t.ca[n]>>3,r.ca[n]=(e.ca[t.ca[n]&7]&7|(o+l)%3<<3)<<24>>24}function Cl(e,t,r){var n,o,l,i;for(n=0;n<8;n++)l=e.ca[t.ca[n]&7]>>3,i=t.ca[n]>>3,o=l+(l<3?i:6-i),o=o%3+(l<3==i<3?0:3),r.ca[n]=(e.ca[t.ca[n]&7]&7|o<<3)<<24>>24}function ue(){Z(),gs(this)}function At(e,t,r,n){gs(this),Pr(this.ca,e,8,!1),ms(this,t),Pr(this.ea,r,12,!0),Bs(this,n)}function cu(e){gs(this),Ls(this,e)}function Pl(e){return Z(),e^ns>>((e&15)<<1)&3}function mo(e,t,r){Z();var n,o,l;for(l=Kt[nt[0][t]],o=Kt[t],n=0;n<12;n++)r.ea[n]=(l.ea[e.ea[o.ea[n]>>1]>>1]^e.ea[o.ea[n]>>1]&1^o.ea[n]&1)<<24>>24}function Lt(e,t,r){Z();var n;for(n=0;n<12;n++)r.ea[n]=(e.ea[t.ea[n]>>1]^t.ea[n]&1)<<24>>24}function ur(e,t,r){Z();var n;return n=Rs[e],r&&(n=n^ns>>((n&15)<<1)&3),n&65520|jt[n&15][t]}function pu(){return Z(),0}function OL(){var e,t;for(fe[0]=new At(15120,0,119750400,0),fe[3]=new At(21021,1494,323403417,0),fe[6]=new At(8064,1236,29441808,550),fe[9]=new At(9,0,5880,0),fe[12]=new At(1230,412,2949660,0),fe[15]=new At(224,137,328552,137),e=0;e<18;e+=3)for(t=0;t<2;t++)fe[e+t+1]=new ue,Lt(fe[e+t],fe[e],fe[e+t+1]),ar(fe[e+t],fe[e],fe[e+t+1])}function _L(){Z();var e,t,r;for(cs(40320,Dn,Qt,Ds=Y(De,Re,0,2768,7,1),2),e=new ue,r=0;r<2768;r++)mu(e,Dn[r]),dn[r]=Fn(e.ea,0,!0)+Us(Dn[r],8)*70<<24>>24,zl(e),Rs[r]=Qt[ot(e.ea,8,!0)];for(t=0;t<24;t++)Pr(e.ea,t,12,!0),zl(e),Ml[t]=ot(e.ea,12,!0)%24<<24>>24}function WL(){var e,t,r,n,o,l,i,s,u,a,f,g,L,B,p,m;for(e=new ue,t=new ue,r=new At(28783,0,259268407,0),m=new At(15138,0,119765538,7),g=new At(5167,0,83473207,0),o=0;o<8;o++)g.ca[o]=Fl(g.ca[o]|24);for(l=0;l<16;l++)Kt[l]=new cu(e),Cl(e,m,t),Lt(e,m,t),p=t,t=e,e=p,l%4==3&&(Cl(p,g,t),Lt(p,g,t),p=t,t=e,e=p),l%8==7&&(Cl(p,r,t),Lt(p,r,t),p=t,t=e,e=p);for(i=0;i<16;i++)for(u=0;u<16;u++)for(Cl(Kt[i],Kt[u],e),f=0;f<16;f++)if(Ul(Kt[f].ca,e.ca)){jt[i][u]=f,nt[f][u]=i;break}for(a=0;a<18;a++)for(B=0;B<16;B++){for(Bo(fe[a],nt[0][B],e),L=0;L<18;L++)if(Ul(fe[L].ca,e.ca)){co[B][a]=L,gr[B][(Ke(),An)[a]]=An[L];break}B%2==0&&(Cr[a<<3|B>>1]=co[B][a])}for(n=0;n<18;n++)for(Gl[n]=Bu(fe[n]),s=n,B=0;B<48;B++)co[B%16][s]<n&&(Du[B]|=1<<n),B%16==15&&(s=Tl[2][s])}function cs(e,t,r,n,o){Z();var l,i,s,u,a,f,g,L,B;for(l=new ue,s=new ue,i=0,a=0,B=o>=2?1:2,f=o!=1,u=0;u<e;u++)if(r[u]==0){switch(o){case 0:Bs(l,u);break;case 1:ms(l,u);break;case 2:Pr(l.ea,u,8,!0)}for(g=0;g<16;g+=B){switch(f?mo(l,g,s):Bo(l,g,s),o){case 0:a=El(s);break;case 1:a=kl(s);break;case 2:a=ot(s.ea,8,!0)}o==0&&(fr[i<<3|g>>1]=a&Oe),a==u&&(n[i]=(n[i]|1<<~~(g/B))&Oe),L=~~((i<<4|g)/B),r[a]=L&Oe}t[i++]=u&Oe}return i}function KL(e,t,r,n,o,l,i,s){var u,a,f,g,L;if(g=lr(rt((Er(),Ln),(i>>4)*140+kr[(Z(),dn)[s>>4]&255][nt[i&15][s&15]]),lr(rt(Ln,n*140+kr[dn[t]&255][nt[o][r]]),rt(bl,t*24+Lo[l][r]))),g>e.maxDep2)return g-e.maxDep2;for(u=e.maxDep2;u>=g&&(L=Au(e,n,o,t,r,l,u,e.depth1,10),!(L<0));u--){for(u-=L,e.solLen=0,e.solution=new vu,ZL(e.solution,e.verbose,e.urfIdx,e.depth1),f=0;f<e.depth1+u;f++)xu(e.solution,e.move[f]);for(a=e.preMoveLen-1;a>=0;a--)xu(e.solution,e.preMoves[a]);e.solLen=e.solution.length_0}return u!=e.maxDep2?(e.maxDep2=us(yu,e.solLen-e.length1-1),ou(e.probe,e.probeMin)?0:1):1}function QL(e){var t,r,n,o,l,i,s,u,a,f,g,L,B,p,m;if(e.isRec=!1,ou(e.probe,e.solution?e.probeMin:e.probeMax))return 0;for(e.probe=dL(e.probe,{l:1,m:0,h:0}),n=e.valid1;n<e.depth1;n++)ar(e.phase1Cubie[n],(Z(),fe)[e.move[n]],e.phase1Cubie[n+1]),Lt(e.phase1Cubie[n],fe[e.move[n]],e.phase1Cubie[n+1]);for(e.valid1=e.depth1,s=GL(e.phase1Cubie[e.depth1]),u=s&15,s>>=4,a=TL(e.phase1Cubie[e.depth1]),f=a&15,a>>=4,g=ot(e.phase1Cubie[e.depth1].ea,12,!0)%24,r=ur(a,f,!1),t=ur(s,u,!0),o=e.depth1==0?-1:e.move[e.depth1-1],l=e.preMoveLen==0?-1:e.preMoves[e.preMoveLen-1],m=0,p=(e.preMoveLen==0?1:2)*(e.depth1==0?1:2),L=0,B=(1<<p)-1;L<p;L++){if((B>>L&1)!=0){if(B&=~(1<<L),m=KL(e,s,u,a,f,g,r,t),m==0||m>2)break;m==2&&(B&=4<<L)}if(B==0)break;(L&1)==0&&e.depth1>0?(i=(Ke(),An)[~~(o/3)*3+1],e.move[e.depth1-1]=ht[i]*2-e.move[e.depth1-1],g=(Er(),cn)[g][i],s=gn[s][(Z(),gr)[u][i]],u=jt[s&15][u],s>>=4,a=Bn[a][gr[f][i]],f=jt[a&15][f],a>>=4,t=ur(s,u,!0),r=ur(a,f,!1)):e.preMoveLen>0&&(i=(Ke(),An)[~~(l/3)*3+1],e.preMoves[e.preMoveLen-1]=ht[i]*2-e.preMoves[e.preMoveLen-1],g=(Z(),Ml)[(Er(),cn)[Ml[g]][i]],s=gn[t>>4][gr[t&15][i]],t=s&-16|jt[s&15][t&15],s=ur(t>>4,t&15,!0),u=s&15,s>>=4,a=Bn[r>>4][gr[r&15][i]],r=a&-16|jt[a&15][r&15],a=ur(r>>4,r&15,!1),f=a&15,a>>=4)}return e.depth1>0&&(e.move[e.depth1-1]=o),e.preMoveLen>0&&(e.preMoves[e.preMoveLen-1]=l),m==0?0:2}function jL(e){var t;for(e.conjMask=0,e.selfSym=Bu(e.cc),e.conjMask|=ss(Ct(wr(e.selfSym,16),{l:Oe,m:0,h:0}),{l:0,m:0,h:0})?18:0,e.conjMask|=ss(Ct(wr(e.selfSym,32),{l:Oe,m:0,h:0}),{l:0,m:0,h:0})?36:0,e.conjMask|=ss(Ct(wr(e.selfSym,48),{l:Oe,m:0,h:0}),{l:0,m:0,h:0})?56:0,e.selfSym=Ct(e.selfSym,{l:He,m:He,h:15}),e.maxPreMoves=e.conjMask>7?0:20,t=0;t<6;t++)Ls(e.urfCubieCube[t],e.cc),uu(e.urfCoordCube[t],e.urfCubieCube[t],20),Lu(e.cc),t%3==2&&zl(e.cc)}function du(e,t,r,n,o){var l,i,s,u,a,f;if(t.prun==0&&n<5)return e.allowShorter||n==0?(e.depth1-=n,a=QL(e),e.depth1+=n,a):1;for(f=pu(is(r)),l=0;l<18;l+=3)if(!(l==o||l==o-9)){for(s=0;s<3;s++)if(i=l+s,!(e.isRec&&i!=e.move[e.depth1-n]||f!=0&&(f&1<<i)!=0)){if(u=xL(e.nodeUD[n],t,i),u>n)break;if(u==n)continue;if(u=wL(e.nodeUD[n],t,i),u>n)break;if(u==n)continue;if(e.move[e.depth1-n]=i,e.valid1=us(e.valid1,e.depth1-n),a=du(e,e.nodeUD[n],r&vr((Z(),Gl)[i]),n-1,l),a==0)return 0;if(a>=2)break}}return 1}function Fu(e,t,r,n,o){var l,i,s;if(e.preMoveLen=e.maxPreMoves-t,(e.isRec?e.depth1==e.length1-e.preMoveLen:e.preMoveLen==0||(225207>>r&1)==0)&&(e.depth1=e.length1-e.preMoveLen,e.phase1Cubie[0]=n,e.allowShorter=e.depth1==ys&&e.preMoveLen!=0,uu(e.nodeUD[e.depth1+1],n,e.depth1)&&du(e,e.nodeUD[e.depth1+1],o,e.depth1,-1)==0))return 0;if(t==0||e.preMoveLen+ys>=e.length1)return 1;for(s=pu(is(o)),(t==1||e.preMoveLen+1+ys>=e.length1)&&(s|=225207),r=~~(r/3)*3,l=0;l<18;l++){if(l==r||l==r-9||l==r+9){l+=2;continue}if(!(e.isRec&&l!=e.preMoves[e.maxPreMoves-t]||(s&1<<l)!=0)&&(ar((Z(),fe)[l],n,e.preMoveCubes[t]),Lt(fe[l],n,e.preMoveCubes[t]),e.preMoves[e.maxPreMoves-t]=l,i=Fu(e,t-1,l,e.preMoveCubes[t],o&vr(Gl[l])),i==0))return 0}return 1}function Au(e,t,r,n,o,l,i,s,u){var a,f,g,L,B,p,m,F,A,b,h;if(t==0&&n==0&&l==0)return i;for(A=(Ke(),Do)[u],m=0;m<10;m++){if((A>>m&1)!=0){m+=66>>m&3;continue}if(F=(Er(),cn)[l][m],f=gn[n][(Z(),gr)[o][m]],g=jt[f&15][o],f>>=4,B=Bn[t][gr[r][m]],p=jt[B&15][r],B>>=4,L=ur(B,p,!1),a=ur(f,g,!0),b=rt(Ln,(L>>4)*140+kr[dn[a>>4]&255][nt[L&15][a&15]]),b>i+1)return i-b+1;if(b>=i){m+=66>>m&3&i-b;continue}if(b=lr(rt(bl,f*24+Lo[F][g]),rt(Ln,B*140+kr[dn[f]&255][nt[p][g]])),b>=i){m+=66>>m&3&i-b;continue}if(h=Au(e,B,p,f,g,F,i-1,s+1,m),h>=0)return e.move[s]=ht[m],h;if(h<-2)break;h<-1&&(m+=66>>m&3)}return-1}function qL(e){for(e.length1=e.isRec?e.length1:0;e.length1<e.solLen;e.length1++)for(e.maxDep2=us(yu,e.solLen-e.length1-1),e.urfIdx=e.isRec?e.urfIdx:0;e.urfIdx<6;e.urfIdx++)if((e.conjMask&1<<e.urfIdx)==0&&Fu(e,e.maxPreMoves,-30,e.urfCubieCube[e.urfIdx],vr(Ct(e.selfSym,{l:Oe,m:0,h:0})))==0)return e.solution?wu(e.solution):\"Error 8\";return e.solution?wu(e.solution):\"Error 7\"}function VL(e,t){var r;return r=HL(e,t),r!=0?\"Error \"+(r<0?-r:r):(e.solLen=22,e.probe={l:0,m:0,h:0},e.probeMax={l:3531008,m:23,h:0},e.probeMin={l:0,m:0,h:0},e.verbose=0,e.solution=null,e.isRec=!1,fu(!1),jL(e),qL(e))}function HL(e,t){var r,n,o,l;for(n=0,o=Y(ee,le,0,54,7,1),r=hL(J(X(De,1),Re,0,7,[t.charCodeAt(4),t.charCodeAt(13),t.charCodeAt(22),t.charCodeAt(31),t.charCodeAt(40),t.charCodeAt(49)])),l=0;l<54;l++){if(o[l]=AL(r,UL(t.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}return n!=10066329?-1:(YL(o,e.cc),NL(e.cc))}function hu(){var e,t,r;for(this.move=Y(Ee,ve,0,31,7,1),this.nodeUD=Y(vl,se,31,21,0,1),this.nodeRL=Y(vl,se,31,21,0,1),this.nodeFB=Y(vl,se,31,21,0,1),this.cc=new ue,this.urfCubieCube=Y(Ro,se,7,6,0,1),this.urfCoordCube=Y(vl,se,31,6,0,1),this.phase1Cubie=Y(Ro,se,7,21,0,1),this.preMoveCubes=Y(Ro,se,7,21,0,1),this.preMoves=Y(Ee,ve,0,20,7,1),t=0;t<21;t++)this.nodeUD[t]=new fo,this.nodeRL[t]=new fo,this.nodeFB[t]=new fo,this.phase1Cubie[t]=new ue;for(r=0;r<6;r++)this.urfCubieCube[r]=new ue,this.urfCoordCube[r]=new fo;for(e=0;e<20;e++)this.preMoveCubes[e+1]=new ue}function Ke(){if(!Uu){Uu=!0;var e,t,r,n,o,l;for(Mr=J(X(ee,2),se,10,0,[J(X(ee,1),le,0,7,[8,9,20]),J(X(ee,1),le,0,7,[6,18,38]),J(X(ee,1),le,0,7,[0,36,47]),J(X(ee,1),le,0,7,[2,45,11]),J(X(ee,1),le,0,7,[29,26,15]),J(X(ee,1),le,0,7,[27,44,24]),J(X(ee,1),le,0,7,[33,53,42]),J(X(ee,1),le,0,7,[35,17,51])]),Vt=J(X(ee,2),se,10,0,[J(X(ee,1),le,0,7,[5,10]),J(X(ee,1),le,0,7,[7,19]),J(X(ee,1),le,0,7,[3,37]),J(X(ee,1),le,0,7,[1,46]),J(X(ee,1),le,0,7,[32,16]),J(X(ee,1),le,0,7,[28,25]),J(X(ee,1),le,0,7,[30,43]),J(X(ee,1),le,0,7,[34,52]),J(X(ee,1),le,0,7,[23,12]),J(X(ee,1),le,0,7,[21,41]),J(X(ee,1),le,0,7,[50,39]),J(X(ee,1),le,0,7,[48,14])]),qt=Ye(Ee,[se,ve],[17,0],7,[13,13],2),bs=J(X(bL,1),se,2,4,[\"U \",\"U2\",\"U'\",\"R \",\"R2\",\"R'\",\"F \",\"F2\",\"F'\",\"D \",\"D2\",\"D'\",\"L \",\"L2\",\"L'\",\"B \",\"B2\",\"B'\"]),ht=J(X(Ee,1),ve,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),An=Y(Ee,ve,0,18,7,1),Do=Y(Ee,ve,0,11,7,1),t=0;t<18;t++)An[ht[t]]=t;for(r=0;r<10;r++)for(n=~~(ht[r]/3),Do[r]=0,o=0;o<10;o++)l=~~(ht[o]/3),Do[r]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(Do[10]=0,e=0;e<13;e++)for(qt[e][0]=qt[e][e]=1,o=1;o<e;o++)qt[e][o]=qt[e-1][o-1]+qt[e-1][o]}}function Fn(e,t,r){Ke();var n,o,l,i,s;for(n=e.length-1,l=0,s=4,o=n;o>=0;o--)i=bu(e[o],r),(i&12)==t&&(l+=qt[o][s--]);return l}function Us(e,t){Ke();var r,n;for(n=0,r=t-2;r>=0;r--)n^=e%(t-r),e=~~(e/(t-r));return n&1}function ot(e,t,r){Ke();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<t-1;n++)l=bu(e[n],r)<<2,o=(t-n)*o+vr(Ct(wr(i,l),{l:15,m:0,h:0})),i=lu(i,hl({l:1118480,m:279620,h:69905},l));return o}function bu(e,t){return t?e>>1:e&7}function Su(e,t,r,n){Ke();var o,l,i,s;for(o=e.length-1,s=4,l=o,i=o;i>=0;i--)t>=qt[i][s]?(t-=qt[i][s--],e[i]=Il(e[i],s|r,n)):((l&12)==r&&(l-=4),e[i]=Il(e[i],l--,n))}function Pr(e,t,r,n){Ke();var o,l,i,s,u,a;for(a={l:1323536,m:2777561,h:1043915},o={l:0,m:0,h:0},s=2;s<=r;s++)o=as(hl(o,4),is(t%s)),t=~~(t/s);for(l=0;l<r-1;l++)u=(vr(o)&15)<<2,o=wr(o,4),e[l]=Il(e[l],vr(Ct(wr(a,u),{l:15,m:0,h:0})),n),i=lu(hl({l:1,m:0,h:0},u),{l:1,m:0,h:0}),a=as(Ct(a,i),Ct(wr(a,4),{l:~i.l&He,m:~i.m&He,h:~i.h&nr}));e[r-1]=Il(e[r-1],vr(Ct(a,{l:15,m:0,h:0})),n)}function Il(e,t,r){return(r?t<<1|e&1:t|e&-8)<<24>>24}function YL(e,t){Ke();var r,n,o,l,i,s,u,a;for(l=0;l<8;l++)t.ca[l]=0;for(i=0;i<12;i++)t.ea[i]=0;for(s=0;s<8;s++){for(a=0;a<3&&!(e[Mr[s][a]]==0||e[Mr[s][a]]==3);a++);for(r=e[Mr[s][(a+1)%3]],n=e[Mr[s][(a+2)%3]],u=0;u<8;u++)if(r==~~(Mr[u][1]/9)&&n==~~(Mr[u][2]/9)){t.ca[s]=Fl(a%3<<3|u);break}}for(o=0;o<12;o++)for(u=0;u<12;u++){if(e[Vt[o][0]]==~~(Vt[u][0]/9)&&e[Vt[o][1]]==~~(Vt[u][1]/9)){t.ea[o]=Fl(u<<1);break}if(e[Vt[o][0]]==~~(Vt[u][1]/9)&&e[Vt[o][1]]==~~(Vt[u][0]/9)){t.ea[o]=Fl(u<<1|1);break}}}function xu(e,t){var r,n,o;if(e.length_0==0){e.moves[e.length_0++]=t;return}if(r=~~(t/3),n=~~(e.moves[e.length_0-1]/3),r==n){o=(t%3+e.moves[e.length_0-1]%3+1)%4,o==3?--e.length_0:e.moves[e.length_0-1]=r*3+o;return}if(e.length_0>1&&r%3==n%3&&r==~~(e.moves[e.length_0-2]/3)){o=(t%3+e.moves[e.length_0-2]%3+1)%4,o==3?(e.moves[e.length_0-2]=e.moves[e.length_0-1],--e.length_0):e.moves[e.length_0-2]=r*3+o;return}e.moves[e.length_0++]=t}function ZL(e,t,r,n){e.verbose=t,e.urfIdx=r,e.depth1=n}function wu(e){var t,r,n;if(r=new SL,n=(e.verbose&2)!=0?(e.urfIdx+3)%6:e.urfIdx,n<3)for(t=0;t<e.length_0;t++)(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\". \"),iu(su(r,(Ke(),bs)[(Z(),Tl)[n][e.moves[t]]]));else for(t=e.length_0-1;t>=0;t--)iu(su(r,(Ke(),bs)[(Z(),Tl)[n][e.moves[t]]])),(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\". \");return r.string}function vu(){this.moves=Y(Ee,ve,0,31,7,1)}var se,He,nr,fL,Oe,Re,ve,ns,ao,le,q,dl,yl,bL,au,kr,fs,gn,Ln,Bn,mn,bl,Lo,cn,pn,Rn,ir,Sl,sr,xl,wl,vl,gu,Kt,Qt,Dn,zr,ps,fr,Ml,dn,Rs,Cr,co,gr,jt,nt,Ru,Ds,ds,po,Fs,Du,fe,Gl,As,hs,Tl,Ro,yu,ys,Uu,qt,Do,Mr,Vt,bs,An,ht,Ee,XL,ee,JL,De,$L,eB,ku=U(()=>{se={3:1},He=4194303,nr=1048575,fL=524288,Oe=65535,Re={11:1,3:1},ve={17:1,3:1},ns=14540032,ao=286331153,le={10:1,3:1},dl={};uo(1,null,{},mL);uo(79,1,{},os);q.createClassLiteralForArray=function(t){var r;return r=new os,r.modifiers=4,t>1?r.componentType=eu(this,t-1):r.componentType=this,r};q.isPrimitive=function(){return(this.modifiers&1)!=0};bL=or(\"java.lang\",\"String\",2);au=!1;uo(31,1,{31:1},fo);q.flip=0;q.flipc=0;q.fsym=0;q.prun=0;q.slice_0=0;q.tsym=0;q.twist=0;q.twistc=0;wl=0,vl=or(\"org.cubing.min2phase.client\",\"CoordCube\",31),gu=!1;Ro=or(\"org.cubing.min2phase.client\",\"CubieCube\",7);uo(72,1,{},hu);q.allowShorter=!1;q.conjMask=0;q.depth1=0;q.isRec=!1;q.length1=0;q.maxDep2=0;q.maxPreMoves=0;q.preMoveLen=0;q.probe={l:0,m:0,h:0};q.probeMax={l:0,m:0,h:0};q.probeMin={l:0,m:0,h:0};q.selfSym={l:0,m:0,h:0};q.solLen=0;q.urfIdx=0;q.valid1=0;q.verbose=0;yu=12,ys=7,Uu=!1;uo(150,1,{},vu);q.depth1=0;q.length_0=0;q.urfIdx=0;q.verbose=0;Ee=Al(\"int\",\"I\");or(\"com.google.gwt.lang\",\"CollapsedPropertyHolder\",252);or(\"com.google.gwt.lang\",\"JavaClassHierarchySetupUtil\",254);XL=or(\"com.google.gwt.lang\",\"LongLibBase/LongEmul\",null);or(\"com.google.gwt.lang\",\"ModuleUtils\",257);ee=Al(\"byte\",\"B\"),JL=Al(\"long\",\"J\"),De=Al(\"char\",\"C\");or(\"com.google.gwt.user.client.rpc\",\"XsrfToken\",null),cL(\"java.util\",\"Map/Entry\");$L=function(){fu(!1)},eB=function(e){return VL(new hu,e)}});async function zu(){let e=await he[\"3x3x3\"].kpuzzle(),t=e.startState();for(let r of X2)t=t.applyAlg(k.fromString((await Wt())(r)));return Y2(e,t)?t:zu()}function Cu(){return tB??(tB=Promise.resolve().then(()=>(ku(),Eu)))}async function Ss(e){return tt(),k.fromString((await Cu()).solveState(q2(e)))}async function hn(){return Ss(await zu())}async function Pu(){(await Cu()).initialize()}async function Mu(){return fn(await hn(),rB)}async function Tu(){let e=new ut,t=await hn();return e.experimentalPushAlg(Gu),e.experimentalPushAlg(t),e.experimentalPushAlg(Gu),e.toAlg()}var tB,rB,Gu,xs=U(()=>{Ae();Ot();rr();_t();Dl();V2();Z2();J2();tB=null;rB=[[null,\"Rw\",\"Rw2\",\"Rw'\",\"Fw\",\"Fw'\"],[null,\"Dw\",\"Dw2\",\"Dw'\"]];Gu=new k(\"R' U' F\")});function ae(e,...t){let r=t.length,n=e[t[r-1]];for(let o=r;o>0;o--)e[t[o]]=e[t[o-1]];return e[t[0]]=n,ae}function Iu(e,t,r,n){r=(r||8)-1;let o=1985229328,l=0;n??(n=0),n<0&&(t<<=1);for(let i=0;i<r;++i){let s=ws[r-i],u=~~(t/s);l^=u,t%=s,u<<=2,e[i]=o>>u&7;let a=(1<<u)-1;o=(o&a)+(o>>4&~a)}return n<0&&(l&1)!=0?(e[r]=e[r-1],e[r-1]=o&7):e[r]=o&7,e}var Le,ws,Nu=U(()=>{Le=[],ws=[1];for(let e=0;e<32;++e){Le[e]=[];for(let t=0;t<32;++t)Le[e][t]=0}for(let e=0;e<32;++e){Le[e][0]=Le[e][e]=1,ws[e+1]=ws[e]*(e+1);for(let t=1;t<e;++t)Le[e][t]=Le[e-1][t-1]+Le[e-1][t]}});var Vf={};Ue(Vf,{initialize:()=>Rm,random444Scramble:()=>Dm});function T(e,t){let r=new Array(e);if(t!==void 0)for(let n=0;n<e;n++)r[n]=new Array(t);return r}function uB(e){return new Fo[e]}function at(e,t,r,...n){let o=Fo[e];o&&!o.___clazz$?V=o.prototype:(!o&&(o=Fo[e]=function(){}),V=o.prototype=t<0?{}:uB(t),V.castableTypeMap$=r);for(let l of n)l.prototype=V;o.___clazz$&&(V.___clazz$=o.___clazz$,o.___clazz$=null)}function Lr(e){let t={};for(let r=0,n=e.length;r<n;++r)t[e[r]]=1;return t}function Ku(){}function fB(e,t){let r=Qu(0,t);return ju(e.___clazz$,e.castableTypeMap$,e.queryId$,r),r}function Qu(e,t){let r=new Array(t);if(e===3)for(let n=0;n<t;++n){let o={m:0,l:0,h:0};o.l=o.m=o.h=0,r[n]=o}else if(e>0){let n=[null,0,!1][e];for(let o=0;o<t;++o)r[o]=n}return r}function ks(e,t,r,n,o){let l=Qu(o,n);return ju(e,t,r,l),l}function ju(e,t,r,n){return Vu(),LB(n,zs,Cs),n.___clazz$=e,n.castableTypeMap$=t,n.queryId$=r,n}function Nl(e,t,r){return e[t]=r}function Vu(){qu||(qu=!0,zs=[],Cs=[],gB(new Ku,zs,Cs))}function gB(e,t,r){let n=0,o;for(let l in e)(o=e[l])&&(t[n]=l,r[n]=o,++n)}function LB(e,t,r){Vu();for(let n=0,o=t.length;n<o;++n)e[t[n]]=r[n]}function BB(e,t){return e.castableTypeMap$&&!!e.castableTypeMap$[t]}function mB(e,t){return e!==null&&BB(e,t)}function cB(){if(Hu)return!1;Hu=!0,Ql=T(15582,36),jl=T(15582),Ut=T(15582),bn=T(48,48),bt=T(48,36),Un=T(48),Gs=T(48)}function Ps(e){e.ct=T(24)}function Yu(e,t){let r,n;if(mB(t,_u)){for(r=t,n=0;n<24;++n)if(e.ct[n]!==r.ct[n])return!1;return!0}return!1}function Ol(e){let t,r,n;for(r=0,n=8,t=23;t>=0;--t)e.ct[t]===1&&(r+=Le[t][n--]);return r}function _l(e){let t,r;if(yn!==null)return yn[Ol(e)];for(r=0;r<48;++r){if(t=AB(Ol(e)),t!==-1)return t*64+r;oe(e,0),r%2==1&&oe(e,1),r%8==7&&oe(e,2),r%16==15&&oe(e,3)}}function yt(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ct,0,1,2,3,r);break;case 1:D(e.ct,16,17,18,19,r);break;case 2:D(e.ct,8,9,10,11,r);break;case 3:D(e.ct,4,5,6,7,r);break;case 4:D(e.ct,20,21,22,23,r);break;case 5:D(e.ct,12,13,14,15,r);break;case 6:D(e.ct,0,1,2,3,r),D(e.ct,8,20,12,16,r),D(e.ct,9,21,13,17,r);break;case 7:D(e.ct,16,17,18,19,r),D(e.ct,1,15,5,9,r),D(e.ct,2,12,6,10,r);break;case 8:D(e.ct,8,9,10,11,r),D(e.ct,2,19,4,21,r),D(e.ct,3,16,5,22,r);break;case 9:D(e.ct,4,5,6,7,r),D(e.ct,10,18,14,22,r),D(e.ct,11,19,15,23,r);break;case 10:D(e.ct,20,21,22,23,r),D(e.ct,0,8,4,14,r),D(e.ct,3,11,7,13,r);break;case 11:D(e.ct,12,13,14,15,r),D(e.ct,1,20,7,18,r),D(e.ct,0,23,6,17,r)}}function oe(e,t){switch(t){case 0:yt(e,19),yt(e,28);break;case 1:yt(e,21),yt(e,32);break;case 2:D(e.ct,0,3,1,2,1),D(e.ct,8,11,9,10,1),D(e.ct,4,7,5,6,1),D(e.ct,12,15,13,14,1),D(e.ct,16,19,21,22,1),D(e.ct,17,18,20,23,1);break;case 3:yt(e,18),yt(e,29),yt(e,24),yt(e,35)}}function Zu(e,t){let r;for(r=0;r<t;++r)oe(e,0),r%2==1&&oe(e,1),r%8==7&&oe(e,2),r%16==15&&oe(e,3)}function Ms(e,t){let r,n;for(n=8,r=23;r>=0;--r)e.ct[r]=0,t>=Le[r][n]&&(t-=Le[r][n--],e.ct[r]=1)}function Wl(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function Ao(){let e;for(Ps(this),e=0;e<8;++e)this.ct[e]=1;for(e=8;e<24;++e)this.ct[e]=0}function Kl(e,t){let r;for(Ps(this),r=0;r<24;++r)this.ct[r]=~~(e.ct[r]/2)===t?1:0}function ho(e){let t;for(Ps(this),t=0;t<24;++t)this.ct[t]=e[t]}function pB(){let e,t,r=new Ao,n=new Ao;for(e=0;e<15582;++e)for(Ms(n,jl[e]),t=0;t<36;++t)Wl(r,n),yt(r,t),Ql[e][t]=_l(r)}function RB(){let e,t,r,n,o,l,i,s;for(ui(Ut),Ut[0]=0,t=0,r=1;r!==15582;)for(l=t>4,s=l?-1:t,e=l?t:-1,++t,n=0;n<15582;++n)if(Ut[n]===s){for(i=0;i<27;++i)if(o=~~Ql[n][i]>>>6,Ut[o]===e)if(++r,l){Ut[n]=t;break}else Ut[o]=t}}function DB(e){let t,r,n,o=new ho(e.ct);for(n=0;n<48;++n){for(t=!0,r=0;r<24;++r)if(o.ct[r]!==~~(r/4)){t=!1;break}if(t)return n;oe(o,0),n%2==1&&oe(o,1),n%8==7&&oe(o,2),n%16==15&&oe(o,3)}return-1}function dB(){let e,t,r,n=new Ao;for(e=0;e<24;++e)n.ct[e]=e;let o=new ho(n.ct),l=new ho(n.ct),i=new ho(n.ct);for(e=0;e<48;++e){for(t=0;t<48;++t){for(r=0;r<48;++r)Yu(n,o)&&(bn[e][t]=r,r===0&&(Un[e]=t)),oe(o,0),r%2==1&&oe(o,1),r%8==7&&oe(o,2),r%16==15&&oe(o,3);oe(n,0),t%2==1&&oe(n,1),t%8==7&&oe(n,2),t%16==15&&oe(n,3)}oe(n,0),e%2==1&&oe(n,1),e%8==7&&oe(n,2),e%16==15&&oe(n,3)}for(e=0;e<48;++e)for(Wl(n,l),Zu(n,Un[e]),t=0;t<36;++t)for(Wl(o,n),yt(o,t),Zu(o,e),r=0;r<36;++r)if(Wl(i,l),yt(i,r),Yu(i,o)){bt[e][t]=r;break}for(Ms(n,0),e=0;e<48;++e)Gs[Un[e]]=Ol(n),oe(n,0),e%2==1&&oe(n,1),e%8==7&&oe(n,2),e%16==15&&oe(n,3)}function FB(){let e,t,r,n,o=new Ao,l=T(22984);for(t=0;t<22984;t++)l[t]=0;for(e=0,t=0;t<735471;++t)if((l[~~t>>>5]&1<<(t&31))==0){for(Ms(o,t),n=0;n<48;++n)r=Ol(o),l[~~r>>>5]|=1<<(r&31),yn!==null&&(yn[r]=e<<6|Un[n]),oe(o,0),n%2==1&&oe(o,1),n%8==7&&oe(o,2),n%16==15&&oe(o,3);jl[e++]=t}}function AB(e){let t=am(jl,e);return t>=0?t:-1}function hB(){Xu||(Xu=!0,Yl=T(70,28),Hl=T(6435,28),nf=T(70,16),tf=T(6435,16),Ze=T(450450),rf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0])}function ql(e){let t,r,n;for(r=0,n=8,t=14;t>=0;--t)e.ct[t]!==e.ct[15]&&(r+=Le[t][n--]);return r}function Vl(e){let t,r,n;for(r=0,n=4,t=6;t>=0;--t)e.rl[t]!==e.rl[7]&&(r+=Le[t][n--]);return r*2+e.parity}function Sn(e,t){e.parity^=rf[t];let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ct,0,1,2,3,r);break;case 1:D(e.rl,0,1,2,3,r);break;case 2:D(e.ct,8,9,10,11,r);break;case 3:D(e.ct,4,5,6,7,r);break;case 4:D(e.rl,4,5,6,7,r);break;case 5:D(e.ct,12,13,14,15,r);break;case 6:D(e.ct,0,1,2,3,r),D(e.rl,0,5,4,1,r),D(e.ct,8,9,12,13,r);break;case 7:D(e.rl,0,1,2,3,r),D(e.ct,1,15,5,9,r),D(e.ct,2,12,6,10,r);break;case 8:D(e.ct,8,9,10,11,r),D(e.rl,0,3,6,5,r),D(e.ct,3,2,5,4,r);break;case 9:D(e.ct,4,5,6,7,r),D(e.rl,3,2,7,6,r),D(e.ct,11,10,15,14,r);break;case 10:D(e.rl,4,5,6,7,r),D(e.ct,0,8,4,14,r),D(e.ct,3,11,7,13,r);break;case 11:D(e.ct,12,13,14,15,r),D(e.rl,1,4,7,2,r),D(e.ct,1,0,7,6,r)}}function xn(e,t){switch(t){case 0:Sn(e,19),Sn(e,28);break;case 1:Sn(e,21),Sn(e,32);break;case 2:D(e.ct,0,3,1,2,1),D(e.ct,8,11,9,10,1),D(e.ct,4,7,5,6,1),D(e.ct,12,15,13,14,1),D(e.rl,0,3,5,6,1),D(e.rl,1,2,4,7,1)}}function Ju(e,t,r){let n;for(n=0;n<16;++n)e.ct[n]=~~(t.ct[n]/2);for(n=0;n<8;++n)e.rl[n]=t.ct[n+16];e.parity=r}function $u(e,t){let r,n;for(n=8,e.ct[15]=0,r=14;r>=0;--r)t>=Le[r][n]?(t-=Le[r][n--],e.ct[r]=1):e.ct[r]=0}function ef(e,t){let r,n;for(e.parity=t&1,t>>>=1,n=4,e.rl[7]=0,r=6;r>=0;--r)t>=Le[r][n]?(t-=Le[r][n--],e.rl[r]=1):e.rl[r]=0}function Ts(){this.rl=T(8),this.ct=T(16)}function yB(){let e,t,r,n,o,l,i,s,u,a,f=new Ts;for(o=0;o<70;++o)for(s=0;s<28;++s)ef(f,o),Sn(f,Tr[s]),Yl[o][s]=Vl(f);for(o=0;o<70;++o)for(ef(f,o),i=0;i<16;++i)nf[o][i]=Vl(f),xn(f,0),i%2==1&&xn(f,1),i%8==7&&xn(f,2);for(o=0;o<6435;++o)for($u(f,o),i=0;i<16;++i)tf[o][i]=ql(f)&65535,xn(f,0),i%2==1&&xn(f,1),i%8==7&&xn(f,2);for(o=0;o<6435;++o)for(s=0;s<28;++s)$u(f,o),Sn(f,Tr[s]),Hl[o][s]=ql(f)&65535;for(ui(Ze),Ze[0]=Ze[18]=Ze[28]=Ze[46]=Ze[54]=Ze[56]=0,r=0,n=6;n!==450450;){let g=r>6,L=g?-1:r,B=g?r:-1;for(++r,o=0;o<450450;++o)if(Ze[o]===L){for(e=~~(o/70),u=o%70,s=0;s<23;++s)if(t=Hl[e][s],a=Yl[u][s],l=t*70+a,Ze[l]===B)if(++n,g){Ze[o]=r;break}else Ze[l]=r}}}function UB(){of||(of=!0,yo=T(29400,20),sf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],Br=T(29400),Os=[0,9,14,23,27,28,41,42,46,55,60,69],_s=T(70))}function Is(e){let t,r,n,o;for(r=0,o=4,t=6;t>=0;--t)e.ud[t]!==e.ud[7]&&(r+=Le[t][o--]);for(r*=35,o=4,t=6;t>=0;--t)e.fb[t]!==e.fb[7]&&(r+=Le[t][o--]);r*=12;let l=e.fb[7]^e.ud[7];for(n=0,o=4,t=7;t>=0;--t)e.rl[t]!==l&&(n+=Le[t][o--]);return e.parity+2*(r+_s[n])}function bB(e,t){switch(e.parity^=sf[t],t){case 0:case 1:case 2:D(e.ud,0,1,2,3,t%3);break;case 3:D(e.rl,0,1,2,3,1);break;case 4:case 5:case 6:D(e.fb,0,1,2,3,(t-1)%3);break;case 7:case 8:case 9:D(e.ud,4,5,6,7,(t-1)%3);break;case 10:D(e.rl,4,5,6,7,1);break;case 11:case 12:case 13:D(e.fb,4,5,6,7,(t+1)%3);break;case 14:D(e.ud,0,1,2,3,1),D(e.rl,0,5,4,1,1),D(e.fb,0,5,4,1,1);break;case 15:D(e.rl,0,1,2,3,1),D(e.fb,1,4,7,2,1),D(e.ud,1,6,5,2,1);break;case 16:D(e.fb,0,1,2,3,1),D(e.ud,3,2,5,4,1),D(e.rl,0,3,6,5,1);break;case 17:D(e.ud,4,5,6,7,1),D(e.rl,3,2,7,6,1),D(e.fb,3,2,7,6,1);break;case 18:D(e.rl,4,5,6,7,1),D(e.fb,0,3,6,5,1),D(e.ud,0,3,4,7,1);break;case 19:D(e.fb,4,5,6,7,1),D(e.ud,0,7,6,1,1),D(e.rl,1,4,7,2,1)}}function lf(e,t,r){let n,o=(t.ct[0]>t.ct[8]?1:0)^(t.ct[8]>t.ct[16]?1:0)^(t.ct[0]>t.ct[16]?1:0)?1:0;for(n=0;n<8;++n)e.ud[n]=t.ct[n]&1^1,e.fb[n]=t.ct[n+8]&1^1,e.rl[n]=t.ct[n+16]&1^1^o;e.parity=o^r}function SB(e,t){let r,n,o,l;for(e.parity=t&1,t>>>=1,o=Os[t%12],t=~~(t/12),l=4,r=7;r>=0;--r)e.rl[r]=0,o>=Le[r][l]&&(o-=Le[r][l--],e.rl[r]=1);for(n=t%35,t=~~(t/35),l=4,e.fb[7]=0,r=6;r>=0;--r)n>=Le[r][l]?(n-=Le[r][l--],e.fb[r]=1):e.fb[r]=0;for(l=4,e.ud[7]=0,r=6;r>=0;--r)t>=Le[r][l]?(t-=Le[r][l--],e.ud[r]=1):e.ud[r]=0}function Ns(){this.ud=T(8),this.rl=T(8),this.fb=T(8)}function xB(){let e,t,r,n;for(r=0;r<12;++r)_s[Os[r]]=r;let o=new Ns;for(r=0;r<29400;++r)for(n=0;n<20;++n)SB(o,r),bB(o,n),yo[r][n]=Is(o)&65535;for(ui(Br),Br[0]=0,e=0,t=1;t!==29400;){for(r=0;r<29400;++r)if(Br[r]===e)for(n=0;n<17;++n)Br[yo[r][n]]===-1&&(Br[yo[r][n]]=e+1,++t);++e}}function wB(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function vB(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ct,0,1,2,3,r);break;case 1:D(e.ct,16,17,18,19,r);break;case 2:D(e.ct,8,9,10,11,r);break;case 3:D(e.ct,4,5,6,7,r);break;case 4:D(e.ct,20,21,22,23,r);break;case 5:D(e.ct,12,13,14,15,r);break;case 6:D(e.ct,0,1,2,3,r),D(e.ct,8,20,12,16,r),D(e.ct,9,21,13,17,r);break;case 7:D(e.ct,16,17,18,19,r),D(e.ct,1,15,5,9,r),D(e.ct,2,12,6,10,r);break;case 8:D(e.ct,8,9,10,11,r),D(e.ct,2,19,4,21,r),D(e.ct,3,16,5,22,r);break;case 9:D(e.ct,4,5,6,7,r),D(e.ct,10,18,14,22,r),D(e.ct,11,19,15,23,r);break;case 10:D(e.ct,20,21,22,23,r),D(e.ct,0,8,4,14,r),D(e.ct,3,11,7,13,r);break;case 11:D(e.ct,12,13,14,15,r),D(e.ct,1,20,7,18,r),D(e.ct,0,23,6,17,r)}}function Ws(){let e;for(this.ct=T(24),e=0;e<24;++e)this.ct[e]=~~(e/4)}function af(e){let t,r,n;for(Ws.call(this),t=0;t<23;++t)n=t+e(24-t),this.ct[n]!==this.ct[t]&&(r=this.ct[t],this.ct[t]=this.ct[n],this.ct[n]=r)}function EB(){uf||(uf=!0,Bt=T(18),CB())}function ff(e){e.cp=[0,1,2,3,4,5,6,7],e.co=[0,0,0,0,0,0,0,0]}function gf(e,t){let r;for(r=0;r<8;++r)e.cp[r]=t.cp[r],e.co[r]=t.co[r]}function kB(e,t){!e.temps&&(e.temps=new Zl),Lf(e,Bt[t],e.temps),gf(e,e.temps)}function zB(e,t){let r,n;for(n=0,r=6;r>=0;--r)n+=e.co[r]=t%3,t=~~(t/3);e.co[7]=(15-n)%3}function Lf(e,t,r){let n,o,l,i;for(n=0;n<8;++n)r.cp[n]=e.cp[t.cp[n]],l=e.co[t.cp[n]],i=t.co[n],o=l,o=o+(l<3?i:6-i),o=o%3,(l>=3?1:0)^(i>=3?1:0)&&(o=o+3),r.co[n]=o}function Zl(){ff(this)}function mr(e,t){ff(this),Iu(this.cp,e),zB(this,t)}function Bf(e){mr.call(this,e(40320),e(2187))}function CB(){let e,t;for(Bt[0]=new mr(15120,0),Bt[3]=new mr(21021,1494),Bt[6]=new mr(8064,1236),Bt[9]=new mr(9,0),Bt[12]=new mr(1230,412),Bt[15]=new mr(224,137),e=0;e<18;e+=3)for(t=0;t<2;++t)Bt[e+t+1]=new Zl,Lf(Bt[e+t],Bt[e],Bt[e+t+1])}function PB(){mf||(mf=!0,St=T(1937880),ei=T(1538),ti=T(1538),zn=T(11880),Ff=[0,1,6,3,4,5,2,7],qs=T(160,12),Vs=T(160,12),js=[1,1,1,3,12,60,360,2520,20160,181440,1814400,19958400,239500800],Qs=[0,2,4,6,1,3,7,5,8,9,10,11])}function wn(e,t,r,n,o){let l=e.edgeo[o];e.edgeo[o]=e.edge[n],e.edge[n]=e.edgeo[r],e.edgeo[r]=e.edge[t],e.edge[t]=l}function vn(e,t){let r,n,o,l,i;for(e.isStd||Df(e),n=0,i=1985229328,l=47768,r=0;r<t;++r)o=e.edge[r]<<2,n*=12-r,o>=32?(n+=l>>o-32&15,l-=4368<<o-32):(n+=i>>o&15,l-=4369,i-=286331152<<o);return n}function cf(e){let t,r=vn(e,4);t=zn[r];let n=t&7;t>>=3,Jl(e,n);let o=vn(e,10)%20160;return t*20160+o}function Xl(e,t){switch(e.isStd=!1,t){case 0:ae(e.edge,0,4,1,5),ae(e.edgeo,0,4,1,5);break;case 1:ce(e.edge,0,4,1,5),ce(e.edgeo,0,4,1,5);break;case 2:ae(e.edge,0,5,1,4),ae(e.edgeo,0,5,1,4);break;case 3:ce(e.edge,5,10,6,11),ce(e.edgeo,5,10,6,11);break;case 4:ae(e.edge,0,11,3,8),ae(e.edgeo,0,11,3,8);break;case 5:ce(e.edge,0,11,3,8),ce(e.edgeo,0,11,3,8);break;case 6:ae(e.edge,0,8,3,11),ae(e.edgeo,0,8,3,11);break;case 7:ae(e.edge,2,7,3,6),ae(e.edgeo,2,7,3,6);break;case 8:ce(e.edge,2,7,3,6),ce(e.edgeo,2,7,3,6);break;case 9:ae(e.edge,2,6,3,7),ae(e.edgeo,2,6,3,7);break;case 10:ce(e.edge,4,8,7,9),ce(e.edgeo,4,8,7,9);break;case 11:ae(e.edge,1,9,2,10),ae(e.edgeo,1,9,2,10);break;case 12:ce(e.edge,1,9,2,10),ce(e.edgeo,1,9,2,10);break;case 13:ae(e.edge,1,10,2,9),ae(e.edgeo,1,10,2,9);break;case 14:ce(e.edge,0,4,1,5),ce(e.edgeo,0,4,1,5),ae(e.edge,9,11),ae(e.edgeo,8,10);break;case 15:ce(e.edge,5,10,6,11),ce(e.edgeo,5,10,6,11),ae(e.edge,1,3),ae(e.edgeo,0,2);break;case 16:ce(e.edge,0,11,3,8),ce(e.edgeo,0,11,3,8),ae(e.edge,5,7),ae(e.edgeo,4,6);break;case 17:ce(e.edge,2,7,3,6),ce(e.edgeo,2,7,3,6),ae(e.edge,8,10),ae(e.edgeo,9,11);break;case 18:ce(e.edge,4,8,7,9),ce(e.edgeo,4,8,7,9),ae(e.edge,0,2),ae(e.edgeo,1,3);break;case 19:ce(e.edge,1,9,2,10),ce(e.edgeo,1,9,2,10),ae(e.edge,4,6),ae(e.edgeo,5,7)}}function En(e,t){switch(e.isStd=!1,t){case 0:Xl(e,14),Xl(e,17);break;case 1:wn(e,11,5,10,6),wn(e,5,10,6,11),wn(e,1,2,3,0),wn(e,4,9,7,8),wn(e,8,4,9,7),wn(e,0,1,2,3);break;case 2:mt(e,4,5),mt(e,5,4),mt(e,11,8),mt(e,8,11),mt(e,7,6),mt(e,6,7),mt(e,9,10),mt(e,10,9),mt(e,1,1),mt(e,0,0),mt(e,3,3),mt(e,2,2)}}function Jl(e,t){for(;t>=2;)t-=2,En(e,1),En(e,2);t!==0&&En(e,0)}function Uo(e,t){let r,n,o,l,i,s;for(i=1985229328,s=47768,o=0,r=0;r<11;++r)if(n=js[11-r],l=~~(t/n),t=t%n,o^=l,l<<=2,l>=32){l=l-32,e.edge[r]=s>>l&15;let u=(1<<l)-1;s=(s&u)+(s>>4&~u)}else{e.edge[r]=i>>l&15;let u=(1<<l)-1;i=(i&u)+(i>>>4&~u)+(s<<28),s=s>>4}for((o&1)==0?e.edge[11]=i:(e.edge[11]=e.edge[10],e.edge[10]=i),r=0;r<12;++r)e.edgeo[r]=r;e.isStd=!0}function pf(e,t){let r;for(r=0;r<12;++r)e.edge[r]=t.edge[r],e.edgeo[r]=t.edgeo[r];e.isStd=t.isStd}function Rf(e,t){let r,n,o,l;for(e.temp===null&&(e.temp=T(12)),r=0;r<12;++r)e.temp[r]=r,e.edge[r]=t.ep[Qs[r]+12]%12;for(n=1,r=0;r<12;++r)for(;e.edge[r]!==r;)l=e.edge[r],e.edge[r]=e.edge[l],e.edge[l]=l,o=e.temp[r],e.temp[r]=e.temp[l],e.temp[l]=o,n^=1;for(r=0;r<12;++r)e.edge[r]=e.temp[t.ep[Qs[r]]%12];return n}function Df(e){let t;for(e.temp===null&&(e.temp=T(12)),t=0;t<12;++t)e.temp[e.edgeo[t]]=t;for(t=0;t<12;++t)e.edge[t]=e.temp[e.edge[t]],e.edgeo[t]=t;e.isStd=!0}function ce(e,t,r,n,o){let l;l=e[t],e[t]=e[n],e[n]=l,l=e[r],e[r]=e[o],e[o]=l}function mt(e,t,r){let n=e.edge[t];e.edge[t]=e.edgeo[r],e.edgeo[r]=n}function Ht(){this.edge=T(12),this.edgeo=T(12)}function MB(){let e,t,r,n,o,l,i,s,u,a,f,g,L,B,p,m,F,A,b,h,C,E,j=new Ht,te=new Ht,I=new Ht;for(ui(St),s=0,$l=1,Ks(St,0,0);$l!==31006080&&(p=s>9,i=s%3,l=(s+1)%3,a=p?3:i,e=p?i:3,!(s>=9));){for(g=0;g<31006080;g+=16)if(E=St[~~g>>4],!(!p&&E===-1)){for(f=g,u=g+16;f<u;++f,E>>=2)if((E&3)===a){for(b=~~(f/20160),t=ei[b],n=f%20160,Uo(j,t*20160+n),F=0;F<17;++F)if(r=kn(j.edge,F<<3,4),h=zn[r],C=h&7,h>>=3,o=kn(j.edge,F<<3|C,10)%20160,L=h*20160+o,bo(St,L)===e){if(Ks(St,p?f:L,l),++$l,p)break;if(A=ti[h],A!==1)for(pf(te,j),Xl(te,F),Jl(te,C),m=1;(A=~~A>>1&65535)!=0;++m)(A&1)==1&&(pf(I,te),Jl(I,m),B=h*20160+vn(I,10)%20160,bo(St,B)===e&&(Ks(St,B,l),++$l))}}}++s}}function bo(e,t){return e[t>>4]>>((t&15)<<1)&3}function kn(e,t,r){let n,o,l,i,s,u=Vs[t],a=qs[t];for(o=0,s=1985229328,i=47768,n=0;n<r;++n)l=u[e[a[n]]]<<2,o*=12-n,l>=32?(o+=i>>l-32&15,i-=4368<<l-32):(o+=s>>l&15,i-=4369,s-=286331152<<l);return o}function df(e){let t,r,n,o,l,i,s,u,a,f,g,L=new Ht;if(i=0,l=bo(St,e),l===3)return 10;for(;e!==0;)for(l===0?l=2:--l,a=~~(e/20160),t=ei[a],n=e%20160,Uo(L,t*20160+n),u=0;u<17;++u)if(r=kn(L.edge,u<<3,4),f=zn[r],g=f&7,f>>=3,o=kn(L.edge,u<<3|g,10)%20160,s=f*20160+o,bo(St,s)===l){++i,e=s;break}return i}function GB(e,t){let r=bo(St,e);return r===3?10:(1227133513<<r>>t&3)+t-1}function TB(){let e,t,r,n=new Ht;for(t=0;t<20;++t)for(r=0;r<8;++r){for(Uo(n,0),Xl(n,t),Jl(n,r),e=0;e<12;++e)qs[t<<3|r][e]=n.edge[e];for(Df(n),e=0;e<12;++e)Vs[t<<3|r][e]=n.temp[e]}}function IB(){let e,t,r,n,o=new Ht,l=T(1485);for(t=0;t<1485;t++)l[t]=0;for(e=0,t=0;t<11880;++t)if((l[~~t>>>3]&1<<(t&7))==0){for(Uo(o,t*js[8]),n=0;n<8;++n)r=vn(o,4),r===t&&(ti[e]=(ti[e]|1<<n)&65535),l[~~r>>3]=l[~~r>>3]|1<<(r&7),zn[r]=e<<3|Ff[n],En(o,0),n%2==1&&(En(o,1),En(o,2));ei[e++]=t}}function Ks(e,t,r){e[t>>4]^=(3^r)<<((t&15)<<1)}function NB(){Af||(Af=!0)}function OB(e){let t,r,n;for(t=0,n=!1,r=0;r<12;++r)t|=1<<e.ep[r],n=n!==e.ep[r]>=12;return t&=~~t>>12,t===0&&!n}function _B(e,t){let r;for(r=0;r<24;++r)e.ep[r]=t.ep[r]}function WB(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ep,0,1,2,3,r),D(e.ep,12,13,14,15,r);break;case 1:D(e.ep,11,15,10,19,r),D(e.ep,23,3,22,7,r);break;case 2:D(e.ep,0,11,6,8,r),D(e.ep,12,23,18,20,r);break;case 3:D(e.ep,4,5,6,7,r),D(e.ep,16,17,18,19,r);break;case 4:D(e.ep,1,20,5,21,r),D(e.ep,13,8,17,9,r);break;case 5:D(e.ep,2,9,4,10,r),D(e.ep,14,21,16,22,r);break;case 6:D(e.ep,0,1,2,3,r),D(e.ep,12,13,14,15,r),D(e.ep,9,22,11,20,r);break;case 7:D(e.ep,11,15,10,19,r),D(e.ep,23,3,22,7,r),D(e.ep,2,16,6,12,r);break;case 8:D(e.ep,0,11,6,8,r),D(e.ep,12,23,18,20,r),D(e.ep,3,19,5,13,r);break;case 9:D(e.ep,4,5,6,7,r),D(e.ep,16,17,18,19,r),D(e.ep,8,23,10,21,r);break;case 10:D(e.ep,1,20,5,21,r),D(e.ep,13,8,17,9,r),D(e.ep,14,0,18,4,r);break;case 11:D(e.ep,2,9,4,10,r),D(e.ep,14,21,16,22,r),D(e.ep,7,15,1,17,r)}}function Hs(){let e;for(this.ep=T(24),e=0;e<24;++e)this.ep[e]=e}function hf(e){let t,r,n;for(Hs.call(this),t=0;t<23;++t)n=t+e(24-t),n!==t&&(r=this.ep[t],this.ep[t]=this.ep[n],this.ep[n]=r)}function KB(){yf||(yf=!0,Ys=[35,1,34,2,4,6,22,5,19])}function Uf(e){e.moveBuffer=T(60)}function QB(e,t){return e.value-t.value}function Cn(e,t){let r;for(_B(e.edge,t.edge),wB(e.center,t.center),gf(e.corner,t.corner),e.value=t.value,e.add1=t.add1,e.length1=t.length1,e.length2=t.length2,e.length3=t.length3,e.sym=t.sym,r=0;r<60;++r)e.moveBuffer[r]=t.moveBuffer[r];e.moveLength=t.moveLength,e.edgeAvail=t.edgeAvail,e.centerAvail=t.centerAvail,e.cornerAvail=t.cornerAvail}function cr(e){for(;e.centerAvail<e.moveLength;)vB(e.center,e.moveBuffer[e.centerAvail++]);return e.center}function bf(e){for(;e.cornerAvail<e.moveLength;)kB(e.corner,e.moveBuffer[e.cornerAvail++]%18);return e.corner}function So(e){for(;e.edgeAvail<e.moveLength;)WB(e.edge,e.moveBuffer[e.edgeAvail++]);return e.edge}function jB(e){let t,r,n,o,l,i,s=new Array(e.moveLength-(e.add1?2:0));for(r=0,t=0;t<e.length1;++t)s[r++]=e.moveBuffer[t];for(i=e.sym,t=e.length1+(e.add1?2:0);t<e.moveLength;++t)bt[i][e.moveBuffer[t]]>=27?(s[r++]=bt[i][e.moveBuffer[t]]-9,o=Ys[bt[i][e.moveBuffer[t]]-27],i=bn[i][o]):s[r++]=bt[i][e.moveBuffer[t]];let u=bn[Un[i]][DB(cr(e))];for(l=\"\",i=u,t=r-1;t>=0;--t)n=s[t],n=~~(n/3)*3+(2-n%3),bt[i][n]>=27?(l=l+Zs[bt[i][n]-9]+\" \",o=Ys[bt[i][n]-27],i=bn[i][o]):l=l+Zs[bt[i][n]]+\" \";return l}function Gr(e,t){e.moveBuffer[e.moveLength++]=t}function ri(){Uf(this),this.edge=new Hs,this.center=new Ws,this.corner=new Zl}function ni(e){ri.call(this),Cn(this,e)}function Sf(e){Uf(this),this.edge=new hf(e),this.center=new af(e),this.corner=new Bf(e)}function qB(e,t){return t.value-e.value}function oi(e,t){return qB(e,t)}function xf(){}function VB(){if(wf)return;wf=!0;let e,t;for(Zs=[\"U \",\"U2 \",\"U' \",\"R \",\"R2 \",\"R' \",\"F \",\"F2 \",\"F' \",\"D \",\"D2 \",\"D' \",\"L \",\"L2 \",\"L' \",\"B \",\"B2 \",\"B' \",\"Uw \",\"Uw2\",\"Uw'\",\"Rw \",\"Rw2\",\"Rw'\",\"Fw \",\"Fw2\",\"Fw'\",\"Dw \",\"Dw2\",\"Dw'\",\"Lw \",\"Lw2\",\"Lw'\",\"Bw \",\"Bw2\",\"Bw'\"],Tr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,21,22,23,25,28,30,31,32,34,36],xo=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],vf=T(37),Ef=T(37),Pn=T(37,36),li=T(29,28),ii=T(21,20),Xs=T(36),wo=T(28),Mn=T(20),e=0;e<29;++e)vf[Tr[e]]=e;for(e=0;e<21;++e)Ef[xo[e]]=e;for(e=0;e<36;++e){for(t=0;t<36;++t)Pn[e][t]=~~(e/3)==~~(t/3)||~~(e/3)%3==~~(t/3)%3&&e>t;Pn[36][e]=!1}for(e=0;e<29;++e)for(t=0;t<28;++t)li[e][t]=Pn[Tr[e]][Tr[t]];for(e=0;e<21;++e)for(t=0;t<20;++t)ii[e][t]=Pn[xo[e]][xo[t]];for(e=0;e<36;++e)for(Xs[e]=36,t=e;t<36;++t)if(!Pn[e][t]){Xs[e]=t-1;break}for(e=0;e<28;++e)for(wo[e]=28,t=e;t<28;++t)if(!li[e][t]){wo[e]=t-1;break}for(e=0;e<20;++e)for(Mn[e]=20,t=e;t<20;++t)if(!ii[e][t]){Mn[e]=t-1;break}}function HB(e){let t,r,n,o,l,i,s,u,a,f,g,L;e.solution=\"\";let B=_l(new Kl(cr(e.c),0)),p=_l(new Kl(cr(e.c),1)),m=_l(new Kl(cr(e.c),2)),F=Ut[~~B>>6],A=Ut[~~p>>6],b=Ut[~~m>>6];for(e.p1SolsCnt=0,e.arr2idx=0,nm(e.p1sols.heap),e.length1=(F<A?F:A)<b?F<A?F:A:b;e.length1<100&&!(b<=e.length1&&si(e,~~m>>>6,m&63,e.length1,-1,0)||F<=e.length1&&si(e,~~B>>>6,B&63,e.length1,-1,0)||A<=e.length1&&si(e,~~p>>>6,p&63,e.length1,-1,0));++e.length1);let h=mm(e.p1sols,ks(pm,Lr([iB,vs,Es]),Wu,0,0));h.sort(function(j,te){return j.value-te.value}),t=9;do{e:for(u=h[0].value;u<100;++u)for(i=0;i<h.length&&!(h[i].value>u);++i)if(!(u-h[i].length1>t)&&(Cn(e.c1,h[i]),Ju(e.ct2,cr(e.c1),ai(So(e.c1).ep)),g=ql(e.ct2),L=Vl(e.ct2),e.length1=h[i].length1,e.length2=u-h[i].length1,kf(e,g,L,e.length2,28,0)))break e;++t}while(u===100);e.arr2.sort(function(j,te){return j.value-te.value}),s=0,r=13;do{e:for(a=e.arr2[0].value;a<100;++a)for(i=0;i<Math.min(e.arr2idx,100)&&!(e.arr2[i].value>a);++i)if(!(a-e.arr2[i].length1-e.arr2[i].length2>r)&&(l=Rf(e.e12,So(e.arr2[i])),lf(e.ct3,cr(e.arr2[i]),l^ai(bf(e.arr2[i]).cp)),n=Is(e.ct3),o=vn(e.e12,10),f=df(cf(e.e12)),f<=a-e.arr2[i].length1-e.arr2[i].length2&&zf(e,o,n,f,a-e.arr2[i].length1-e.arr2[i].length2,20,0))){s=i;break e}++r}while(a===100);let C=new ni(e.arr2[s]);e.length1=C.length1,e.length2=C.length2;let E=a-e.length1-e.length2;for(i=0;i<E;++i)Gr(C,xo[e.move3[i]]);e.solution=jB(C)}function YB(e,t){let r,n;for(Cn(e.c1,e.c),r=0;r<e.length1;++r)Gr(e.c1,e.move1[r]);switch(Gs[t]){case 0:Gr(e.c1,24),Gr(e.c1,35),e.move1[e.length1]=24,e.move1[e.length1+1]=35,e.add1=!0,t=19;break;case 12869:Gr(e.c1,18),Gr(e.c1,29),e.move1[e.length1]=18,e.move1[e.length1+1]=29,e.add1=!0,t=34;break;case 735470:e.add1=!1,t=0}Ju(e.ct2,cr(e.c1),ai(So(e.c1).ep));let o=ql(e.ct2),l=Vl(e.ct2),i=Ze[o*70+l];return e.c1.value=i+e.length1,e.c1.length1=e.length1,e.c1.add1=e.add1,e.c1.sym=t,++e.p1SolsCnt,e.p1sols.heap.size<500?n=new ni(e.c1):(n=Lm(e.p1sols),n.value>e.c1.value&&Cn(n,e.c1)),em(e.p1sols,n),e.p1SolsCnt===1e4}function ZB(e){let t;for(Cn(e.c2,e.c1),t=0;t<e.length2;++t)Gr(e.c2,e.move2[t]);if(!OB(So(e.c2)))return!1;let r=Rf(e.e12,So(e.c2));lf(e.ct3,cr(e.c2),r^ai(bf(e.c2).cp));let n=Is(e.ct3);vn(e.e12,10);let o=df(cf(e.e12));return e.arr2[e.arr2idx]?Cn(e.arr2[e.arr2idx],e.c2):e.arr2[e.arr2idx]=new ni(e.c2),e.arr2[e.arr2idx].value=e.length1+e.length2+Math.max(o,Br[n]),e.arr2[e.arr2idx].length2=e.length2,++e.arr2idx,e.arr2idx===e.arr2.length}function XB(e,t){return Pf(),e.c=new Sf(t),HB(e),e.solution}function si(e,t,r,n,o,l){let i,s,u,a,f,g;if(t===0)return n===0&&YB(e,r);for(i=0;i<27;i+=3)if(!(i===o||i===o-9||i===o-18))for(a=0;a<3;++a){if(u=i+a,s=Ql[t][bt[r][u]],f=Ut[~~s>>>6],f>=n){if(f>n)break;continue}if(g=bn[r][s&63],s>>>=6,e.move1[l]=u,si(e,s,g,n-1,i,l+1))return!0}return!1}function kf(e,t,r,n,o,l){let i,s,u,a;if(t===0&&Ze[r]===0)return n===0&&ZB(e);for(s=0;s<23;++s){if(li[o][s]){s=wo[s];continue}if(i=Hl[t][s],a=Yl[r][s],u=Ze[i*70+a],u>=n){u>n&&(s=wo[s]);continue}if(e.move2[l]=Tr[s],kf(e,i,a,n-1,s,l+1))return!0}return!1}function zf(e,t,r,n,o,l,i){let s,u,a,f,g,L,B,p,m;if(o===0)return t===0&&r===0;for(Uo(e.tempe[i],t),g=0;g<17;++g){if(ii[l][g]){g=Mn[g];continue}if(a=yo[r][g],L=Br[a],L>=o){L>o&&g<14&&(g=Mn[g]);continue}if(f=kn(e.tempe[i].edge,g<<3,10),s=~~(f/20160),p=zn[s],m=p&7,p>>=3,u=kn(e.tempe[i].edge,g<<3|m,10)%20160,B=GB(p*20160+u,n),B>=o){B>o&&g<14&&(g=Mn[g]);continue}if(zf(e,f,a,B,o-1,g,i+1))return e.move3[i]=g,!0}return!1}function Cf(){let e;for(this.p1sols=new Wf(new xf),this.move1=T(15),this.move2=T(20),this.move3=T(20),this.c1=new ri,this.c2=new ri,this.ct2=new Ts,this.ct3=new Ns,this.e12=new Ht,this.tempe=T(20),this.arr2=T(100),e=0;e<20;++e)this.tempe[e]=new Ht}function Pf(){Mf||(dB(),yn=T(735471),FB(),pB(),yn=null,RB(),yB(),xB(),TB(),IB(),MB(),Mf=!0)}function JB(){Gf||(Gf=!0)}function ai(e){let t,r,n,o;for(o=0,t=0,n=e.length;t<n;++t)for(r=t;r<n;++r)e[t]>e[r]&&(o^=1);return o}function D(e,t,r,n,o,l){let i;switch(l){case 0:i=e[o],e[o]=e[n],e[n]=e[r],e[r]=e[t],e[t]=i;return;case 1:i=e[t],e[t]=e[n],e[n]=i,i=e[r],e[r]=e[o],e[o]=i;return;case 2:i=e[t],e[t]=e[r],e[r]=e[n],e[n]=e[o],e[o]=i;return}}function Tf(){}function If(e,t,r,n){let o=new Tf;return o.typeName=e+t,Of(r!==0?-r:0)&&_f(r!==0?-r:0,o),o.modifiers=4,o.superclass=Js,o.componentType=n,o}function Nf(e,t,r,n){let o=new Tf;return o.typeName=e+t,Of(r)&&_f(r,o),o.superclass=n,o}function $B(e){let t=Fo[e.seedId];return e=null,t}function Of(e){return typeof e==\"number\"&&e>0}function _f(e,t){let r;if(t.seedId=e,e===2)r=String.prototype;else if(e>0){let n=$B(t);if(n)r=n.prototype;else{n=Fo[e]=function(){},n.___clazz$=t;return}}else return;r.___clazz$=t}function em(e,t){if(gm(e,t))return!0}function tm(e){e.array=ks(Kf,Lr([vs,Es]),Ou,0,0)}function rm(e,t){return Nl(e.array,e.size++,t),!0}function nm(e){e.array=ks(Kf,Lr([vs,Es]),Ou,0,0),e.size=0}function pr(e,t){return e.array[t]}function om(e,t){let r=e.array[t];return sm(e.array,t,1),--e.size,r}function Gn(e,t,r){let n=e.array[t];return Nl(e.array,t,r),n}function lm(e,t){let r;for(t.length<e.size&&(t=fB(t,e.size)),r=0;r<e.size;++r)Nl(t,r,e.array[r]);return t.length>e.size&&Nl(t,e.size,null),t}function im(){tm(this),this.array.length=500}function sm(e,t,r){e.splice(t,r)}function am(e,t){let r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}function ui(e){um(e,e.length)}function um(e,t){let r;for(r=0;r<t;++r)e[r]=-1}function fm(e,t){let r,n,o,l,i=e.heap.size,s=pr(e.heap,t);for(;t*2+1<i&&(r=(n=2*t+1,o=n+1,l=n,o<i&&oi(pr(e.heap,o),pr(e.heap,n))<0&&(l=o),l),!(oi(s,pr(e.heap,r))<0));)Gn(e.heap,t,pr(e.heap,r)),t=r;Gn(e.heap,t,s)}function gm(e,t){let r,n;for(n=e.heap.size,rm(e.heap,t);n>0;){if(r=n,n=~~((n-1)/2),oi(pr(e.heap,n),t)<=0)return Gn(e.heap,r,t),!0;Gn(e.heap,r,pr(e.heap,n))}return Gn(e.heap,n,t),!0}function Lm(e){if(e.heap.size===0)return null;let t=pr(e.heap,0);return Bm(e),t}function Bm(e){let t=om(e.heap,e.heap.size-1);0<e.heap.size&&(Gn(e.heap,0,t),fm(e,0))}function mm(e,t){return lm(e.heap,t)}function Wf(e){this.heap=new im,this.cmp=e}function qf(){jf||(jf=!0,VB(),JB(),cB(),hB(),UB(),PB(),EB(),NB(),KB(),Qf=new Cf)}function Rm(){qf(),Pf()}async function Dm(){tt(),qf();let e=k.fromString(XB(Qf,await st()));return(await hn()).concat(e)}var V,Fo,nB,Ou,vs,_u,oB,lB,Wu,iB,sB,aB,Es,qu,zs,Cs,Hu,Ut,Ql,Gs,yn,jl,Un,bt,bn,Xu,Hl,Ze,tf,rf,Yl,nf,of,yo,sf,Br,Os,_s,uf,Bt,mf,Qs,$l,St,js,qs,Vs,zn,ei,Ff,ti,Af,yf,Ys,wf,Pn,li,ii,Tr,Zs,xo,Xs,wo,Mn,vf,Ef,Mf,Gf,Js,Kf,cm,pm,Qf,jf,Hf=U(()=>{Ae();xs();Nu();rr();_t();Fo={},nB={},Ou=0,vs=30,_u=21,oB=22,lB=23,Wu=24,iB=25,sB=34,aB=26,Es=40;at(1,-1,nB);V.value=null;at(73,1,{},Ku);V.queryId$=0;qu=!1;Hu=!1;at(153,1,Lr([_u]),Ao,Kl,ho);yn=null,Xu=!1;at(154,1,{},Ts);V.parity=0;of=!1;at(155,1,{},Ns);V.parity=0;at(156,1,{},Ws,af);uf=!1;at(157,1,Lr([oB]),Zl,mr,Bf);V.temps=null;mf=!1;at(158,1,Lr([lB]),Ht);V.isStd=!0;V.temp=null;$l=0,Af=!1;at(159,1,{},Hs,hf);yf=!1;at(160,1,Lr([Wu,sB]),ri,ni,Sf);V.compareTo$=function(t){return QB(this,t)};V.add1=!1;V.center=null;V.centerAvail=0;V.corner=null;V.cornerAvail=0;V.edge=null;V.edgeAvail=0;V.length1=0;V.length2=0;V.length3=0;V.moveLength=0;V.sym=0;V.value=0;at(161,1,{},xf);V.compare=function(t,r){return oi(t,r)};wf=!1;at(163,1,Lr([aB]),Cf);V.add1=!1;V.arr2idx=0;V.c=null;V.length1=0;V.length2=0;V.p1SolsCnt=0;V.solution=\"\";Mf=!1,Gf=!1;V.val$outerIter=null;V.size=0;at(239,1,{},Wf);V.cmp=null;V.heap=null;Js=Nf(\"java.lang.\",\"Object\",1,null),Kf=If(\"[Ljava.lang.\",\"Object;\",356,Js),cm=Nf(\"cs.threephase.\",\"FullCube\",160,Js),pm=If(\"[Lcs.threephase.\",\"FullCube;\",381,cm),jf=!1});var ea={};Ue(ea,{sgsDataFTO:()=>Sm});async function Sm(){return bm??(bm=xm())}async function xm(){return zt(await he.fto.kpuzzle(),`SubgroupSizes 24 12 11 12 12 11 10 9 11 8 10 9 7 8 10 10 6 9 8 5 7 6 5 4 4 8 7 3 6 6 360\n\nAlg T\nAlg B\nAlg B T\nAlg B'\nAlg B' T\nAlg U\nAlg U T\nAlg U'\nAlg U' T\nAlg B BL\nAlg B BL T\nAlg B BL'\nAlg B BL' T\nAlg B' BR\nAlg B' BR T\nAlg B' BR'\nAlg B' BR' T\nAlg U R'\nAlg U R' T\nAlg U' L\nAlg U' L T\nAlg B BL' D\nAlg B BL' D T\n\nAlg R\nAlg R'\nAlg R D\nAlg R D'\nAlg R BR\nAlg R BR'\nAlg R' F\nAlg R' L\nAlg R' L'\nAlg B L B'\nAlg U L' U'\n\nAlg B U B'\nAlg B U' B'\nAlg B R B'\nAlg B R' B'\nAlg B' U' B\nAlg B' U B L\nAlg B' U B L'\nAlg B' U' B BL'\nAlg B U' B' BR\nAlg B' R' B F\n\nAlg BR\nAlg BR'\nAlg BR BL\nAlg BR BL'\nAlg BR' F\nAlg BR' F'\nAlg BR' D\nAlg B BR B'\nAlg U F U'\nAlg BR BL L\nAlg BR' D BR'\n\nAlg B' BL B\nAlg B' BL' B\nAlg BR D' BR'\nAlg B' BL B D'\nAlg B' BL B BL\nAlg B' BL B BL'\nAlg B' BL L B\nAlg B' BL' B F'\nAlg B' BL' B L'\nAlg B' BL' B BL'\nAlg B' BL' L BL' B\n\nAlg R' BR R\nAlg R' BR' R\nAlg BR BL' D BR\nAlg R' BR D R\nAlg R' BR D' R\nAlg R' BR R BL\nAlg B' D' BL D B\nAlg BR B D' B' BR'\nAlg BR BL' D BR L'\nAlg BR BL' D BL BR\n\nAlg U BR U'\nAlg U BR' U'\nAlg U' R U\nAlg U' R' U\nAlg U BR B' U'\nAlg U BR' U' D\nAlg U BR' U' D'\nAlg U' R F' U\nAlg U' R' U L'\n\nAlg U B U'\nAlg U B' U'\nAlg U B U' L\nAlg U B U' L'\nAlg U B' U' BL'\nAlg U B U' L F\nAlg U B U' L F'\nAlg U B' U' BL' D'\n\nAlg B BL' L BL B'\nAlg B BL' L' BL B'\nAlg U B' D B U'\nAlg U B' D' B U'\nAlg U R D R' U'\nAlg U R D' R' U'\nAlg R' F L F' R\nAlg R' F L' F' R\nAlg B L' B F' D B\nAlg U B' D' B U' D\n\nAlg F\nAlg F'\nAlg F D\nAlg F D'\nAlg F' L\nAlg F' L'\nAlg F D' BL\n\nAlg F BL F'\nAlg F BL' F'\nAlg BR' BL BR\nAlg BR' BL' BR\nAlg F BR F' BR'\nAlg F BL F' BL'\nAlg F BL' F' L\nAlg F BL' L' F'\nAlg F BR' BL BR F'\n\nAlg F' BL F\nAlg F' BL' F\nAlg U BL U'\nAlg U BL' U'\nAlg F U' F' U\nAlg F' BL F D'\nAlg F' BL F BL'\nAlg F' BL D F\n\nAlg L\nAlg L'\nAlg L BL\nAlg L BL'\nAlg F' D F\nAlg L BL D\n\nAlg L' BL L\nAlg L' BL' L\nAlg L' BL D L\nAlg L' BL D' L\nAlg L' BL L BL'\nAlg L' BL D' L BL\nAlg L' BL D' L BL'\n\nAlg L D L'\nAlg L D' L'\nAlg R' D R\nAlg R' D' R\nAlg L D L' D'\nAlg L R L' R'\nAlg L' B' L B\nAlg R' D R BL\nAlg L BL' L' BL L'\n\nAlg U L' D L U'\nAlg U B D B' U'\nAlg U L' D' L U'\nAlg U B D' B' U'\nAlg R' D' BL' D R\nAlg U B D' B' U' D\nAlg U B' L B L' U'\nAlg U B D B' U' BL'\nAlg U B D' B' L' D' L U'\n\nAlg F L F'\nAlg F L' F'\nAlg F L F' D\nAlg F L F' D'\nAlg F L' F' BL'\n\nAlg L BL' D BL L'\nAlg L BL' D' BL L'\nAlg F D L D' L' F'\nAlg F L D L' D' F'\nAlg F L' B' L B F'\nAlg F' D' R' D R F\nAlg F D L D' L' F' BL'\nAlg F' R' B' R' B R' F\n\nAlg B D B'\nAlg B D' B'\nAlg L' D L\nAlg L' D' L\nAlg B D B' D'\nAlg B' L B L'\nAlg B D B' D' BL\n\nAlg D\nAlg D'\nAlg D BL\nAlg D BL'\n\nAlg D BL' D BL D'\nAlg D BL' D' BL D'\nAlg B D R D' R' B'\nAlg B R D R' D' B'\nAlg D BL' D BL D' BL\nAlg D BL' D BL D' BL'\n\nAlg D BL D BL' D'\nAlg D BL D' BL' D'\nAlg B' BL' B BR D' BR'\nAlg D BL D BL' D' BL\nAlg D BL D BL' D' BL'\n\nAlg D' BL D\nAlg D' BL' D\nAlg D' BL D BL\nAlg D' BL D BL'\n\nAlg B D' B' BL B D B'\nAlg B D' B' BL' B D B'\nAlg D' BL' D BL D' BL D\n\nAlg B R' B' BL B R B'\nAlg B R' B' BL' B R B'\nAlg L R L' BL' L R' L'\n\nAlg F BL' B' BL F' BL' B\nAlg F' R' F BL F' R F\nAlg F' R' F BL' F' R F\nAlg BR R BR' BL' BR R' BR'\nAlg F L' BL U BL' U' L F'\nAlg F' U' F D F' U F D'\nAlg F BL F' D F BL' F' BL D'\n\nAlg F D F U' F' U D' F'\nAlg F D F' BL F BL' D' F'\nAlg F U D BL' U' BL D' F'\nAlg F U' D F U F' D' F'\nAlg F' BR L F BR' F' L' F\nAlg U R BL' F BL F' R' U'\n\nAlg BL\nAlg BL'\n\nAlg F U BL U' BL' F'\nAlg F BL U BL' U' F'\nAlg U BL BR BL' BR' U'\nAlg BR F BL F' BL' BR'\nAlg F U' F' U BL' U BL U'\n\nAlg F U' F' D F U F' D'\nAlg B' U' F U B U' F' U\nAlg D F U' F' D' F U F'\nAlg BR' U BR D' BR' U' BR D\nAlg D' BR BL' F BL' F' BL BR' BL D\n\nAlg D BL D F' U' B L' BL' L R' BR' R L' BL L B' U F D\nAlg B D BR F' R' BR' R B' F D' BL D B BR' D' B'\nAlg L B' BR' L F BR L' B BR' L U F U' BR' F L BL BR'\nAlg L BL' D' BR' B R' U' R BR B' D BL' L'\nAlg B BR B' D' B D B F' R' B' R BR' B' BR F BR' BL\nAlg L' BL D L' D' L' D L' U' R' F' R U D'\nAlg U' L BL L U' D R' BL B' BL F' BL' B R BL' U D' L U\nAlg L BL BR' L U' D R' F' R BL' U BL D' BR L\nAlg D L' R F' R' L BL' BR BL' B' BL B BR' F BL' F' D'\nAlg B BL B BR' L R' U' R BR L' B\nAlg L B' R' BR B F BL D' BL' D BL' B' F' BR' R U B L'\nAlg D' L' BL F' D' BL' D B F' R' BR R B' F' BL' L D\nAlg B D' R D' R' BL BR' B BR' B' BL' D' BR B R' B' R B' BL' D'\nAlg U' L R' F U L' BL' L B BL' B' BL L U' L' F' R L' U\nAlg F' D BL' BR' BL' BR B' U' F L F' U B D F L U BL' U' L'\nAlg L' U BR' U D R' BL F R BL' U D' BR' L' BL' BR' L'\nAlg U' L' U' D R' BL B' BL F BL' B R BL' U D' L' BL' L' U\nAlg D F BL L' BL' B L' B' L' B L' B' L' BL L BL' F' D'\nAlg F' BR' B BL' BR BL B' F L' F' L B BR' B' BR L' F L BL'\nAlg F' L F' L U' D R' F R U D' L' BL' F L' F\nAlg F U' F' BR F' R' BR' U F' L' BL F' D' BL'\nAlg B BR' U R BR' R' BR U' B' BR\nAlg F' BR' B BR' R BR' BL' BR R' BR BL B' BR F\nAlg L' U BL B' U' BL U BL' B BR BL' BR' U' L\nAlg BR BL' BR' BL L' BL BR BL' BR' L\nAlg U BR' U' BR L' BL BR BL' BR' L\nAlg U' L F BL' F' BL F' BR F BR' L' U\nAlg F L F' BL D F' D' F BL' L'\nAlg U BR' U BR L BL BR BL' BR' L' U\nAlg F BR R BL' F' BL' F R' BL BR' BL F'\nAlg D BL D B U BR' D BR' L' U' BR' U BR L D' BR U' B' D\nAlg U BL' U' BL U BL D L' D BR D' L D BR U BR U D\nAlg B' U F U' B' U F' BR' U' B L B' U BR U' B L' B BL\nAlg B U' B BL U' BL L U' D R' F' R U' D' L' BL' U B\nAlg B L R F D' BR' D F' R' BL' U' L U L' U BL L' B'\nAlg D BL D F' BR' F BL' D R' BR' R F D' BL F' BR D\nAlg L' D F' R' U BR L BL B' BL B BL' BR' L' U' R D' L\nAlg F BL' U D L' U' BR R F' R' BR' U L D BL U' D BL F'\nAlg BR' BL' U' L' BL D F' L' F' L F L U L' D' BR L BL\nAlg B' L' BL U D R' F' R U D' L' BL L U BL' L B\nAlg B BL' L U B' L BL' L B' U' B' L' D L' U' B L' B' D'\nAlg B' R' L U L' R BR BL' B BR' B' BL B' BL' B'\nAlg F L R BL B' U' B R' BL' L' BL F' BL BR' BL L BL' BR L'\nAlg B' U' BL L U D R' F R U D' L' BL' U BL' B' U B'\nAlg U BR BL' BR' D' B D' F' D B' D' F BL' U' BL' F' BL' F D'\nAlg D' BL' D L BL L' D' BL D F' D F D' BL' D' BL D\nAlg B' BL' B' BL L' B' BL' F' D F L F' D' F BL' L BL' B L B\nAlg F BL' U D' BL' D' L' U' BR R F R' BR' U L U' D' BL F'\nAlg U' D' B D F' D' BR' D' BR D BR B' BL' D F BL U BL'\nAlg B BL BR D' BR L' R F R' BR' L D BL' BR' BL' B'\nAlg L' F L' U BR' U' BR L F' BR' L U BR U'\nAlg F' BL' D' BR' BL B' U' BL U B BL' BR D F\nAlg F' D' BR' U R' U BL U' R U' BL' BR D F\nAlg F U' BR F' U' BL' B U F BR' R F' U BL L\nAlg B' BL' U' BL U B BL' B BL BR BL' BR' B' BL\nAlg D' F' U BL U' L F U' F' U L' BL' F D\nAlg F' BL' D' BR' BL BR' F' BR U' B' BR' U R' BR' F'\nAlg B' U' B BL' B U' B BL' L U' L BL' L B\nAlg F' D' F U' F U F' BL F' BL' D F\nAlg F' D BR F' R F R' BR' F D'\nAlg D BL D B BR' D L' BL' L' BL' BR' BL L BL L D' BR B' D\nAlg B L BL L' BL' L' D F' R' BR R D' F L' BL' L' B'\nAlg B BL' F' BL BR D' BR' F D' B' D L F' BL' F L D L D' BL\nAlg B D' BR' D' BR' F D' BL' D' BL D BL F' D BR D' B'\nAlg B D' B U B' D B F' BR' F L' F BR F' L U' B BL\nAlg L BL' B' U BL L' BL L U L' BL' L BL' U' B BL' L'\nAlg U D F' D BR BL' BR' BL B D' F D B' D BR BL BR' U'\nAlg F' D BR L' U' R F' R' U BR' L D BR' BL BR D F\nAlg BR' L BL L' BL' BR BL' F BL' L R BL B' U B R' BL' L' F'\nAlg D BL BR D B F' R' U' BR' U R B' F D' BR' D'\nAlg D' B BR' D L' BL' L' BL' BR BL L BL L D' BR B' D' BL' D'\nAlg B U' R B' BL' B R' U' B BL' B' U' BL B' U' L U L'\nAlg B D' B' D' BR' BL BR D' B' L B BR' U B U' BL' BR BL L' BL'\nAlg B D BR' D' F BL' D' BL' D BL D F' BR D BR D B'\nAlg D' B D F' D' BR' D' BR D BR BL BR' BL' BR B' BL' D F\nAlg L BL B' U BL L' BL L U' L' BL' L BL' U' B BL L'\nAlg B' U B' D' B U' B' D BL' U BL' U' BL' B' U BL' U'\nAlg D' BR' B' L' U L' B' U B L U' L B BR D BL\nAlg L' D L' F U' F' L D' L' F U BR F' L F BR' F' L BL'\nAlg D BR D B F' R' U' BR U R B' F D' BR' BL' D'\nAlg BR BL D F BR' BL BR BL' BR F' BR' D' BL' BR'\nAlg BR' U' L' BL F' BL' F L BL' U BL BR\nAlg D' BR' B' U BR U' BL U' BL' U BR' B BR D\nAlg F U BR' U R U' BR B U' F' BL U' L' U BL' B'\nAlg B U' L F BR F' L F' BR' F L U B'\nAlg BR BL F BL' L F' BR' BL' F BL L' BL' F' BL\nAlg U' BR' L BL' BR L U' BR' U L' BL L' U' BR U'\nAlg L' F L' U BR' U' BR L F' L BL' BR BL BR'\nAlg F' D' BR' BL U R' U BL' U' R U' BR D F\nAlg F' BR' B F' U F BR U' BR' B' F BL BR BL'\nAlg L B' U' R' BR B F BL D' BL D BL' B' F' BR' R B L'\nAlg B F BL B L F BR' R' BL U' R BL' BR' F' L' F' BR' B\nAlg U BR F' D F BR' U' L' BL L' BL' L U L B' BL L' B U'\nAlg F' L B F BL B R U' R' B' BL' B' F' L BL L F\nAlg D BL D B BR' D BR' D' BR D BR BL BR' BL' D' B' D\nAlg D' BR' BL B BR B' BL' D BL D' B' BL B BR' BL' BR D\nAlg D F' U BR U' L U' BR' U L' D B D' F D B' D BL\nAlg L B BL' B L F R U' R' F' L' B' BL B' L' BL'\nAlg B D' B U B' D F' BR F L' F BR' F' L B U' B BL\nAlg B' BL L B' L' B' L B' BR' R' U' R BR L'\nAlg D' F' U' B L' BL' L R' BR R L' BL L B' U F D' BL' D'\nAlg B' F' BL' B' F U D' R BR R' BL U' BL' D B'\nAlg F' BL' D BL F BL' D' B' U' B D F' D' B' F U B\nAlg F' L' BL' L' B F BL B R U R' B' BL' B' F' L' F\nAlg L' BL U' D F D' BL' D BL F' BL' D' BL D F' U D' BL L\nAlg B' BR L R' U R BR F L' B' BL' B L F' BR L' B\nAlg B' L B' BR' B L' B' D F' U F D' F U' F' BR B' BL'\nAlg B' BR D' BL' BR' BL B L' R' L' R BR L D L BL BR' B BL\nAlg L' D F' L F L' F D' L' BL' L' D BL' BR' BL' BR BL' D'\nAlg B' F BR F BR L R' BL U R BL' BR L' B' BL' B' F\nAlg F L' F' BR' B BR' F' BR B' BR' F' L F' BR'\nAlg BR' B' BR BL' D' BR D BR' BL B\nAlg L' F L' U BR' U' L U' BR U F' L\nAlg F U' BR' R U' BR BL BR' U' BL' U' R' F' BR U\nAlg B' BR' R' U' BL D' BL U BL' D R BL' BR B\nAlg D BR' U' L BL' F' BL F L' BL U BL' BR D'\nAlg F' BL' D' F BR' BL BR BL' BR F' BR' D BL F\nAlg F' BR' BL' BR D' F' BR F BR' D BL F\nAlg F' BR R' BR BL' BR' R BR' BL F\nAlg B BR F' BR' B' F BL F BL' F'\nAlg B D' B U B' D BL' F R' F BL F' R B F' U' B BL\nAlg L BL' B' U L U L BL L B' BL B' U' BL' U' B' L' BL\nAlg L' BL' U' D F D' BL' D BL F BL' D' BL D F' U D' BL' L\nAlg F' L F' BL' D' BR' B R' U' R BR B' D BL' F L' F\nAlg U D' BR' D BR' U' L U BR L' D' BR D L U' L' BL\nAlg B' BR' B' BL B L F' BR' R' U' R BR F BR L' B\nAlg U' F' D BR' F' BR D L D L' U D' B D' B' F D' BL F\nAlg B F BL B F' L F BR' R' BL U' R BL' BR' F' BR' L' B\nAlg F' D' BL B BR' BL BR BL' BR' D' BR' D BR D F D' B' D\nAlg B' BR' B' BL B L F BR' R' U' R BR F' BR L' B\nAlg L' F BR L' R' BR BL' BR' R BR' BL B' L F' L' B L' BL'\nAlg B' U' BL' U D' BL' D F L' R U R' F' L U' BL U B\nAlg D' B D BL BR BL' BR' D' BR' D BR D' BR B' D' BL' D'\nAlg B' BR' L F' BR' R' U R BR F L' B' BL' B BR B\nAlg L U L' D' BR' D L U' L' U D' BR D BR BL BR' BL' U' BL'\nAlg F' L F' BL D' B BR' R' U R B' BR D BL F L' F\nAlg B' L B' BR' B L' F' R F' BL F R' F BL' B' BR B' BL'\nAlg F' L BL' BR' R' BL U R BR B L' B L B L' F BL' B\nAlg L' F D' BR U' BR' D BR' U BR L' B' L F' L' B L' BL'\nAlg B' BR' L F BR' R' U R BR F' L' B' BL' B BR B\nAlg L F' D' F BR' BL BR BL' BR F' BR' D F L'\nAlg F' BL' D F BL' F' BL D' BR' BL BR F\nAlg B' BR' R' BL D' BL U' BL' D BL' U R BR B\nAlg B' L BL' BR BL L' B' F BL F' BL' B BR' B\nAlg F U' BR' R BR F' U BL L U BL' B U'\nAlg B' BR B' BL F BL' B F' L BL' BR' BL L' B\nAlg U' L BL' U' R U' BL' U R' U BL' L' U\nAlg F U' BR' R' F' BR' F BL BR R BL' F' BR U\nAlg B U' L' F' BR F L' F BR' F' L' U B'\nAlg F' BR' B' F BR' BL' BR F BL B F' BL BR BL'\nAlg B BL' U' L U BL' B' BL' B' L' BL U B' U' BL L BL L\nAlg B R' U' B U R B' BR F D' B' D BL F' BL' BR' BL\nAlg U BL U' B BL U BL U' BL D' B U B' D B U' B\nAlg B BL B BL' B BR B' BL BR' R' L U' L' R B\nAlg U' L BL' B BL B' L' F U B' R U R' U F' U B BL\nAlg F' BL' D' BR' L' B' L B BL BR BL' B' L' B L D BL F BL\nAlg L B' L' F U B' R BR B BR' R' BR BL' BR' BL B U' F' BL\nAlg D' F BL B BR' B BR B' BL' D BL D' B' F' D\nAlg B' L' BL F U F' L' U B U' L F U' F' BL' L BL' B BL B\nAlg D BL D B U F' R' BR' R F U' B' D\nAlg B BR B' D' BL BR D BR D B' BL' B D BR' BL' D' BL' D'\nAlg B' R BR B' BR' R' B U' F' L B L' BL' F BL U BL'\nAlg U BR BL' BR' D' B D' F' D B' BL' BR BL BR' D' F U' D'\nAlg U' D' BR' U' BR' D' L' D BR' D' L D' BL' U' BL' U BL U'\nAlg L' F' BR F' R F' R' L F' BR' D L BL' L' BL D' F BL'\nAlg B D BL' D B U R BR R' U' B' D' BL D' B' BL\nAlg B' U L' U B BL L' F' BL F D' B' U B D B' L B L'\nAlg L BL' B' U L F R U' R' F' U L F' L B L' F\nAlg L' D R' U BR L BL B' BL' B BL' BR' L' U' R F D' L\nAlg D' B U F' R' BR R F U' B' D' BL' D'\nAlg B D BL' B' U' BL L' D L D' BL' U B BL B' D'\nAlg B U' BL' U' F U' B U B' F' U BL U' B U' B\nAlg U BR' U L BL' L U' BR U BR' L' BL BR L' U\nAlg F' D' BR' BL B' U' BL' U B BL' BR D BL F\nAlg B' L' B' F BL' F' BL F' BR F BR' B L B\nAlg F' BL' D' BR F' BR' F D BR' BL BR F\nAlg F D' F' U' F' D' BR D F' D' BR' D' F' U\nAlg BR' BL' U' BL L U' F U F' L' U BR\nAlg F BR R U' BR B U BR' F BR BL' BR D BL F\nAlg F' BR' F U' BL L' U BL' B' F' BL' BR D' BL F\nAlg B' U L' B' U L' D F L F' D' L U' B L U' L B L'\nAlg B BL B L F BR' R' U' R BR F' L' B\nAlg B D' B BR' R' U' B' U R BR U' D' F L' F' U L' D' L\nAlg L U' L' U B BL' U B BL B' U R B' BL B R' U B'\nAlg D F' D BL U' R U' BL' U R' U B D' F D B' D BL\nAlg B BL U B BR' L R' F' U' F R BR L' B' U' B'\nAlg B' U' B F' D F D' B' U B D BL F' BL' D' BL F\nAlg B D BR B F' U' R' BR' R U B' F BR' D' BL B'\nAlg L B' F R BL' U' R' BL B F' L U BR' U' BL L U BR U'\nAlg F' L F' BL L U' D R' F' R U D' L' F L' F\nAlg L U L' F' BL' F L B BL' U BL' U' BL B' BL L U' L\nAlg B' L F BR' R' U R BR F' L' B' BL' B'\nAlg U BR' U' L' U' BR' F' BR F BR D R' F R U D' L' BL' L'\nAlg B L BL L F' D R' BR' R F D' L BL L BL' L' B'\nAlg F' BL' D F' D' B D' B' U' D L D BR' L' F BR D' F U\nAlg B U B BR' L R' F' U F R BR L' B' U' BL' B'\nAlg U B' L BL' B L' U' L' BL L BL' L U BR F' D' F BR' U'\nAlg B BL' D BR B F' U' R' BR R U B' F BR' D' B'\nAlg B BR B F BR' U BL' L R BR' R' L' F' U BR U BL B BL'\nAlg B' BR' L R' U R BR L' B' BL' B'\nAlg B' U BR' R L F' BR' F L' R' BR U' B' BR B'\nAlg F' BL' F' BR R U' BR B F BR BL' D F U BL'\nAlg F' BR' B' U BR' F BR' F' BR U' BR B BR F\nAlg BR' BL' U' BL L' F' BL F BL' L U BR\nAlg U' L BL U' R U' BL U R' U BL L' U\nAlg F BR' F' U' L F BR U F' U' L' BL U BL'\nAlg L' F U' BR' U L' U BR U' L F' L\nAlg F' BR' B' U' BR' U F BR B U' BL U BR BL'\nAlg F' BR' U BR D' BR U' BR' D F\nAlg F BL' BR R BL' F' BL F R' BL BR' F'\nAlg L BL' B BL' U BL U' BL B' L' F' BL F L U' L U L\nAlg B F BL B F' L F' BR' R' BL U' R BL' BR' F BR' L' B\nAlg F BL B' F' BR B' BR' B L F BL B' BR B BL' BR' F' L' B\nAlg B F D' BL U R BL' BR' R' U' D B F' BL B\nAlg L B' U B' BR B BR U' BR' B L' F BL' B F' BR' B' BL'\nAlg U' L R' F L U L' BL' B BL B' L' BL L U' F' R L' U\nAlg BR BL F BL' F' L' F' BR' L B BR B' L' F L B BR' B' BL\nAlg B' BR' L F L' B' BL B L F' BR' R' U' R BR' L' B\nAlg D L U' BR U L U' R BL' F' R' F BL F' BR' U L D BL D\nAlg B F BL B F BR' L R' BL U' R BL' BR' L' F BR' B\nAlg L B' L' U L' B' U L' D F L' F' D' L U' B L U' B\nAlg B' BR L F' BR R' BL U R BL' BR F L' B' F BL' B' F'\nAlg B' BL L B L' B' BL' L' U BL' U R' L' R U' BL U' L B\nAlg B U' D' F D B BL' B' U D' R BR R' U' F' U D B'\nAlg D F L F' L' F R L' BL B L B' BL' L R' F' L D'\nAlg L BL D' B BR' R' U R B' BR D BL L'\nAlg D F D' B' U' B U' D F' D' F U B' U B F' BL'\nAlg D' BR' BL BR B' BL' B D BL' D' BL B BR' B' BL' BR D\nAlg U BR' U' L U R' L R BR L' B' L' B L U' L' BL'\nAlg BR' L R' U R BR B L' B L B L' BL' B\nAlg B BR' B U BR' R L F' BR F L' R' BR U' B\nAlg F' L B' BR' B L BL' L' B' BR B L BL L F\nAlg D F U' F' U D' BR U' D' F U F' D BR'\nAlg B' BL' BR D' BR' D BL BR' B BR\nAlg B BL U' BR' L U BR' F' BL D BL BR F BR\nAlg L' U BR BL BR' B' BL U' BL' U B BL' U' L\nAlg U B' BL U' L' BL' U' F BR' R' BR U F'\nAlg D BR' BL U' BL' L F' BL' F BL L' U BR D'\nAlg BR L' BL BR' BL' L BL' BR BL BR'\nAlg F BL F' BL' B F' BR F BR' B'\nAlg D BR L' U' R F' R' U BR L BL B' BL B BL' BR D'\nAlg D' BL' D BL D F' D' F D' BL' D L BL' L' D' BL D\nAlg B F D' F' U' BL' B U B' BL F D B U' B' U B' F' BL\nAlg B U F' D' R BR' R' U' D B BL B' U F U' B'\nAlg B BL B L B BR' F BR B' BR' R' U' R F' BR L' B\nAlg B BL B L F' U' F' U F BR' R' U' R BR' F BR' L' B\nAlg B' U' B F' D F D' B' U B U' D BL' F' BL D' F U BL\nAlg L F' BR B' F' R BL' U' R' BL B F' BR L BL BR L\nAlg D F' D' BL F' D' F R BL B' L U L' B R' F' BL' D F\nAlg B BL BR BL D' BR L' R F' R' BR' L D BR' BL' B'\nAlg B' L B' BR' B L' BL' U BL U' B' BR B' U BL' U'\nAlg D' B BR' F BL' F' D BR D' BL F' BR B' F D' BL' D'\nAlg B D F' L' R F D BR' D' F' R BR' L D B' BL' D' F D'\nAlg D L BL' F' R U R' B F' L BL' L' B' F' BL L' D'\nAlg B' BR' L F R' U R BR B BR' F' BR B' L' B' BL' B'\nAlg D L F BL F L BL' L D' BL' D' F' D' F' L BL D' BL'\nAlg D F BL F' BR B' BL' B BL BR' BL L' R F R' L D'\nAlg L BL' B' L B L B' L F R U R' B F'\nAlg F' D' BL F R B' L U' L' B R' BL' F' D F BL' D F D'\nAlg B' L' BL U' D' L' BL' L U' D R' F R U' BL' L B\nAlg L' F L' BL U' BL' U L F' L U' BL U BL'\nAlg D' F' BL L U' F U F' L' U BL' U' F D\nAlg B' U F D F' U F D' F U B U' F U\nAlg U B' BR' U R' U' R BR U' B\nAlg F' BL' D F BL F' BR F' BR' F BL' D' BL F\nAlg F' BR' BL' BR D BL' F BL F' D' BL F\nAlg U' F R F' BL' F R' F BL F U\nAlg F' BR F BR' L BL' BR' BL BR L'\nAlg F U' B F U' BR U BR' U F' U' B' U F'\nAlg D F' BR R F' R' F BR' D' F\nAlg B D' B U B' D B U' B BR BL BR' D BL BR BL BR' BL D'\nAlg B' U' L' D' F D' L' F' L D F' D L U B BL'\nAlg D L' F R L' BL B L' B' BL' L R' F' L F L' F' D'\nAlg D L' D' BL D F' D F D' BL' L BL D'\nAlg D' B R U' B' F' BL' L BL L' BL B F U R' BR' B' D\nAlg D L BL' F L BL L' B' F R U' R' B F BL L' D'\nAlg D F' BL F BL U BL F' D B D' F D B' D BR BL BR' U'\nAlg B F' BL B F' BR' F' L F R' U' R BL' BR BL F' L' B\nAlg L F BR B' D BL D' R U' R' D BL' D' B BR' F' L BL L\nAlg B F BL B F' BR' L R' U' R BL' BR BL L' B\nAlg D' B U BR' D BR' L' U' BR U BR L D' BR U' B' D' BL' D'\nAlg F' D' BR' BL' BR D' BR L' U' R F R' U BR' L D' F\nAlg D F U D' BL U' B D' F BR F' D' F' D BR' D B' BL\nAlg B U' D' F D BL' D' BR D' BR' D BL B' BL' B F' U D B'\nAlg L' BL' L' F BR B' D BL D' R U R' D BL' D' B BR' F' L'\nAlg B U F' U' B BL' B' U D' R BR R' D F U' B'\nAlg B L BL' U' L U' L' U R BL F D' BR D F' R' L' B'\nAlg B' L B' BR' B L' F' BL F BL' B' BR B' F U' F' U BL'\nAlg D' B BR R U' B' F' BL' L BL' L' BL B F U R' B' D\nAlg B BL' U' B BL' B D B D' B D B D' BL B' U BL B'\nAlg U BR' U' BR L' F BR' L' U BR U' L F' L\nAlg L' U BR BL BR' B U BR' U' BR B' BL' U' L\nAlg BR BL D BR' BL' L BL' BR BL L' BL D' BL' BR'\nAlg F' BL' D' BR' D BL BR' B U BR U' B' BR F\nAlg F U' F' D F' U' B' U F' U' B U' F' D'\nAlg B' U BR' R' U R U' BR B U'\nAlg L U BL U' BL' L' BL L' F' BL' F BL L BL'\nAlg U B' BL' BR' U F' BR' D' F BR' U BL' L' BL'\nAlg F BL' L' F' BL D' F' BR U' R' F' U F' BR'\nAlg U B U' BL L U' L' U BL' B'\nAlg U BL U' B BR' B U BL' U' BL L B' BR B L' B\nAlg B BL B L F' U' F U F BR' R' U' R BR' F' BR' L' B\nAlg B BR D L' D' F' D F D' F' D' F D' BR' L D' B D B\nAlg F' L B' L' F L' U' F R U R' F' L' U' B BL L'\nAlg B' L' F U F L' F R U' R' U L F R U R' U B F' BL\nAlg B U F' D' F' U R BR' R' U' F D B BL B' F U' B'\nAlg F BL U BL' U' F' BL L U' L D BR L' U L U' BR' U D' L\nAlg B U' D' B' F BL B BL' D' BR D BR' D BL D' F' U D B'\nAlg B BL' D' B' D B BL D BR' BL BR' R D R' BR BL' BR D' B'\nAlg B F U' F' D' F' U' R BL' BR' R' BL U' F D B BL B\nAlg D BR' BL B' BL' B BL' BR' L' U' R F R' U BR' L D'\nAlg B' F' U' F' BL' D' B BR' R' U R B' BR D F U B F\nAlg B' D' B' D BR L' D F' D F D F' D' F D L D' BR' B'\nAlg D' B F D BL' D' BL B BR' B' BR B' BL' F' D\nAlg B D B' F BL L' BL' F' L BL L' BL' BR L R L' R' BR' L' D'\nAlg B U B F' BL' B' D' F' U R BR R' U' F D F U' B'\nAlg BR BL' L' F' BR U F' U' BR L' B' BR' L F' BR L' B L'\nAlg D BL' L' BL D F' D' F D' BL' D L D'\nAlg F' BL' B F U' B U B' D' F' BL' B U' B' BL U F D B'\nAlg B' F' L BL' BR' R' BL U R BR L' B' F BL' B'\nAlg BR BL' BR' BL L' F L' BL' BR BL BR' L F' L\nAlg B BL BR' F U' L F U BR' F BL D BR' BL\nAlg B' BL' B' U BR' U' BR BL' BR BL BR' B BL B\nAlg BR' U' L F U' F' U L' BL' U BL BR\nAlg B U BR R' BR U' B' BR U' B' U BR' R' BR\nAlg B BR BL L BL BR' BL' L U' BL' U BL L BL' B'\nAlg F' BR' B BL' BR' R BR' BL BR R' BR B' BR F\nAlg F' BR' B U BR' U' B' BR BL' D' BR D BL F\nAlg D' F' BR U' R' F' U F' BR' F BL' L' F' BL\nAlg B BL U' L U L' BL' U B' U'\nAlg L' F' R B F' BR L' D' F' D BR' L B' F R' F BL L\nAlg D F BL L' BL' B L B' L B L B' L BL L BL' F' D'\nAlg B BL B BR' L R' U' R BR L' B U BR' U' BR BL' BR BL BR'\nAlg B' F R U' R' F' L' B L' B' L' B BL L'\nAlg B' L' F D R' F' L' U L F R' U D' L' B BL L F' L\nAlg D' L' BL F R' BR' R B' F D' BL D B F BL' L D\nAlg B' BR' R' U' BL' U' L R' F R F' L' R U' BL BR B BL\nAlg BR L BL BR L U' D R' BL F' R BL' U' D' BR U' L\nAlg BR L B' L F R F U F' U' R' L' B L F' BR' L BL\nAlg B F U D' R BL' BR' R' BL U' D B F' BL B\nAlg L' BL L' D B D' BL' B' D' L R' D R BL' U' L U BL'\nAlg L' D BL' U' R' BL F R U D' BR L' BL' BR' L'\nAlg U BR' U' L' BL' U BR U' L' B' F R BL' U R' BL B F' L'\nAlg BR L' BL' L' B' F R BL' U R' BL B F BR F BR L'\nAlg B' F' L F BR BL B' BR' B BL' F' L' B' BR B BR' B F BL'\nAlg B D BR B' D' BL' D B F' R' BR R F BR' D' B'\nAlg D BL' L' BL' L BL L' BL F' BL' L' F L BL F BL' L D'\nAlg U' D R' F R U L D' L D L D' BL' L\nAlg U D' BR D' L' D R F BR F' BR' R' BR' D' L U' D' BL'\nAlg B' F' BR' L R' BL U R BL' BR L' B' F BL' B'\nAlg L' F BL' F' BL F' BR F BR' L\nAlg L BL F' D F D' BL' F L' F'\nAlg F' D' BR U BR' D BR' U' BR F\nAlg BR' L BL' BR BL BR L' F' BR' F\nAlg B BR F BR' B' BR F' R' BR' BL' BR R BR' BL\nAlg BR' B U BR' R BR R' U' BR B'\nAlg F' BL' BR R' BR BL BR' R BR' F\nAlg BR L' BL BR' BL' BR' L U BR U'\nAlg U BR' U' BR BL' BR BL BR'\n`)}var bm,ta=U(()=>{Ot();un();bm=null});var og={};Ue(og,{cachedMegaminxKPuzzleWithoutMO:()=>vo,cachedSGSDataMegaminx:()=>Pm,sgsDataMegaminx:()=>ng});async function km(){let e=ln(\"megaminx\",{allMoves:!0,addRotations:!0}),t=new Ie(e.getKPuzzleDefinition(!0),{experimentalPGNotation:new br(e,e.getOrbitsDef(!0))});return t.definition.name=\"megaminx\",t}async function vo(){return zm??(zm=km())}async function Pm(){return Cm??(Cm=ng())}async function ng(){return zt(await vo(),`SubgroupSizes 12 5 60 58 60 56 54 57 52 50 54 48 46 51 44 42 48 40 45 38 36 42 34 32 39 30 36 28 26 33 24 30 22 20 27 18 24 16 14 21 12 18 10 15 8 6 2 12 9 3\n\nAlg Rv\nAlg Rv2\nAlg Rv2'\nAlg Rv'\nAlg Lv'\nAlg Lv2\nAlg Lv2'\nAlg Fv\nAlg Fv'\nAlg BRv2\nAlg Lv2 Rv'\n\nAlg Uv\nAlg Uv2\nAlg Uv2'\nAlg Uv'\n\nAlg D\nAlg D2\nAlg D2'\nAlg D'\nAlg B\nAlg B2\nAlg B2'\nAlg B'\nAlg D DL\nAlg D DL2\nAlg D DL2'\nAlg D DL'\nAlg D2 FL\nAlg D2 FL2\nAlg D2 FL2'\nAlg D2 FL'\nAlg D2' FR\nAlg D2' FR2\nAlg D2' FR2'\nAlg D2' FR'\nAlg D' DR\nAlg D' DR2\nAlg D' DR2'\nAlg D' DR'\nAlg B DR\nAlg B DR2'\nAlg B DR'\nAlg B2 BR2\nAlg B2 BR2'\nAlg B2 BR'\nAlg B2' BL\nAlg B2' BL2\nAlg B2' BL2'\nAlg B' DL\nAlg B' DL2\nAlg B' DL'\nAlg D DL B\nAlg D DL B2'\nAlg D DL B'\nAlg D DL2' L\nAlg D DL2' L2\nAlg D DL2' L2'\nAlg D DL' FL\nAlg D DL' FL2\nAlg D DL' FL'\nAlg D2 FL2' F\nAlg D2 FL2' F2\nAlg D2 FL2' F2'\nAlg D2 FL' FR\nAlg D2 FL' FR2\nAlg D2 FL' FR'\nAlg D2' FR2' R\nAlg D2' FR2' R2\nAlg D2' FR2' R2'\nAlg B DR2' R2'\nAlg B DR' BR2\nAlg B2 BR' BL\nAlg B2' BL2' L\nAlg D DL2' L2' F\nAlg DL\nAlg DL2\nAlg DL2'\nAlg DL'\nAlg DL BL\nAlg DL BL2\nAlg DL BL2'\nAlg DL BL'\nAlg DL2 L\nAlg DL2 L2\nAlg DL2 L2'\nAlg DL2 L'\nAlg DL2' FL\nAlg DL2' FL2\nAlg DL2' FL2'\nAlg DL2' FL'\nAlg D B D'\nAlg D B2 D'\nAlg D B2' D'\nAlg D B' D'\nAlg D2 B D2'\nAlg D2 DL' D2'\nAlg D2' DL' D2\nAlg D' B D\nAlg D' DL' D\nAlg B2 DR2 B2'\nAlg B2 DR2' B2'\nAlg B2 DR' B2'\nAlg B2' BR B2\nAlg B2' BR2 B2\nAlg B2' BR2' B2\nAlg B' BL B\nAlg B' BL2 B\nAlg B' BL' B\nAlg DL BL2' U\nAlg DL BL2' U2\nAlg DL BL2' U2'\nAlg DL BL' L\nAlg DL BL' L2\nAlg DL BL' L'\nAlg DL2 L2' F\nAlg DL2 L2' F2\nAlg DL2 L2' F2'\nAlg DL2 L' FL\nAlg DL2 L' FL2\nAlg DL2 L' FL'\nAlg DL2' FL2' FR\nAlg DL2' FL2' FR2\nAlg DL2' FL2' FR2'\nAlg D B D' DR2\nAlg D B D' DR'\nAlg D2 B D2' FR2'\nAlg D' B D DL\nAlg B2 DR' B2' BR\nAlg B2 DR' B2' BR'\nAlg B2' BR2' B2 U\nAlg DL BL2' U2' F\nAlg D FL D'\nAlg D FL2 D'\nAlg D FL2' D'\nAlg D FL' D'\nAlg D2 FR D2'\nAlg D2 FR2 D2'\nAlg D2 FR2' D2'\nAlg D2' DR D2\nAlg D2' DR2 D2\nAlg D2' DR2' D2\nAlg DL2 BL DL2'\nAlg DL2 BL2 DL2'\nAlg DL2 BL2' DL2'\nAlg DL2 BL' DL2'\nAlg DL2' L2 DL2\nAlg DL2' L2' DL2\nAlg DL' FL2 DL\nAlg DL' FL' DL\nAlg D FL D' FL2'\nAlg D FL L D'\nAlg D FL L2 D'\nAlg D FL L2' D'\nAlg D FL2 F D'\nAlg D FL2 F2 D'\nAlg D FL2 F2' D'\nAlg D FL2 L D'\nAlg D FL2 L2 D'\nAlg D FL2' D' FR\nAlg D FL2' D' FR2\nAlg D FL2' D' FR2'\nAlg D FL2' F D'\nAlg D FL2' F2' D'\nAlg D FL2' FR2' D'\nAlg D FL2' FR' D'\nAlg D FL' D' FL\nAlg D FL' FR D'\nAlg D2 FR D2' FR2'\nAlg D2 FR2 R D2'\nAlg D2 FR2 R2 D2'\nAlg D2 FR2 R2' D2'\nAlg D2 FR2' D2' DR\nAlg D2 FR2' D2' DR2\nAlg D2 FR2' D2' DR2'\nAlg D2 FR2' D2' DR'\nAlg D2 FR2' R2' D2'\nAlg D2 FR' DR2' D2'\nAlg D2' DR D2 DR2'\nAlg D2' DR2 BR D2\nAlg D2' DR2 BR2' D2\nAlg D2' DR2' BR2' D2\nAlg D2' DR2' BR' D2\nAlg DL2 BL2 DL2' BL'\nAlg DL2 BL2 DL2' BR'\nAlg DL2 BL' DL2' L'\nAlg DL2' L2 DL2 BL2\nAlg D FL L2 BL2 D'\nAlg D FL L' FL2' D'\nAlg D FL2 L FL' D'\nAlg D FL2' D' FR2 DR2'\nAlg B DL B'\nAlg B DL2 B'\nAlg B DL2' B'\nAlg B DL' B'\nAlg B2 D B2'\nAlg B2 D2 B2'\nAlg B2 D2' B2'\nAlg B2 D' B2'\nAlg B2 DL B2'\nAlg B2' D' B2\nAlg B2' DL B2\nAlg B' D' B\nAlg B DL B' BL\nAlg B DL B' BL2\nAlg B DL B' BL2'\nAlg B DL B' BL'\nAlg B DL2 B' BL2\nAlg B DL2 B' BL2'\nAlg B DL2 B' BL'\nAlg B DL2' L2 B'\nAlg B DL2' L2' B'\nAlg B DL2' L' B'\nAlg B DL' FL B'\nAlg B DL' FL2 B'\nAlg B DL' FL2' B'\nAlg B DL' FL' B'\nAlg B2 D FL B2'\nAlg B2 D FL2' B2'\nAlg B2 D FL' B2'\nAlg B2 D2 FR2 B2'\nAlg B2 D2 FR2' B2'\nAlg B2 D2 FR' B2'\nAlg B2 D2' B2' DR\nAlg B2 D2' B2' DR2\nAlg B2 D2' B2' DR2'\nAlg B2 DL B2' BR\nAlg B2 DL B2' BR2\nAlg B2 DL B2' BR2'\nAlg B2' D' B2 BR2\nAlg B2' D' B2 BR2'\nAlg B' D' B DR\nAlg B' D' B DR2'\nAlg D FL' D FR D2'\nAlg D DL FL DL' D'\nAlg D2' FR DR FR' D2\nAlg B DL B D B2'\nAlg B DL B D2' B2'\nAlg B DL B' BL2 U2\nAlg B DL B' BL2 U2'\nAlg B DL B' BL2 U'\nAlg B DL2 B' BL2' U2\nAlg B DL2 B' BL2' U2'\nAlg B DL2 B' BL' L2\nAlg B DL2' L2' B' F2\nAlg B2 D FL2' B2' F2'\nAlg DR\nAlg DR2\nAlg DR2'\nAlg DR'\nAlg DR2 FR\nAlg DR2 FR2\nAlg DR2 FR2'\nAlg DR2 FR'\nAlg DR2' R\nAlg DR2' R2\nAlg DR2' R2'\nAlg DR2' R'\nAlg DR' BR\nAlg DR' BR2\nAlg DR' BR2'\nAlg DR' BR'\nAlg D DR D'\nAlg D2 DR D2'\nAlg B BR B'\nAlg B BR2' B'\nAlg B BR' B'\nAlg B2 BL2 B2'\nAlg B2 BL2' B2'\nAlg B2 BL' B2'\nAlg DR2 FR2 FL2\nAlg DR2 FR2 FL2'\nAlg DR2 FR2 FL'\nAlg DR2 FR2' F\nAlg DR2 FR2' F2\nAlg DR2 FR2' F2'\nAlg DR2 FR' R\nAlg DR2 FR' R2\nAlg DR2 FR' R'\nAlg DR2' R FR\nAlg DR2' R FR2'\nAlg DR2' R FR'\nAlg DR2' R2' U\nAlg DR2' R2' U2\nAlg DR2' R2' U2'\nAlg DR2' R' BR2'\nAlg DR' BR2' BL'\nAlg D DR2 FR D'\nAlg B BR B' DR\nAlg B BR B' DR2\nAlg B BR2' B' U2'\nAlg B BR' B' BL2\nAlg B BR' B' BL2'\nAlg B BR' B' BL'\nAlg B2 BL2' L' B2'\nAlg DR2 FR2 FL' F\nAlg DR2 FR2' F FL2'\nAlg DR2 FR2' F FL'\nAlg B BR2' U2' L2' B'\nAlg D2' FL D2\nAlg D2' FL2 D2\nAlg D2' FL2' D2\nAlg D2' FL' D2\nAlg D' FR2 D\nAlg D' FR2' D\nAlg D' FR' D\nAlg DR FR DR'\nAlg DR FR2' DR'\nAlg DR FR' DR'\nAlg DR2 R2 DR2'\nAlg DR2 R2' DR2'\nAlg DR2' BR DR2\nAlg DR2' BR2 DR2\nAlg DR2' BR2' DR2\nAlg D DR2 D' DR2'\nAlg D DR2' D' DR2\nAlg D2' FL D2 FR'\nAlg D2' FL2 D2 FL2'\nAlg D2' FL2 D2 FL'\nAlg D2' FL2 L D2\nAlg D2' FL2 L2 D2\nAlg D2' FL2 L2' D2\nAlg D2' FL2 L' D2\nAlg D2' FL2' F D2\nAlg D2' FL2' F2 D2\nAlg D2' FL2' F2' D2\nAlg D2' FL2' L D2\nAlg D2' FL2' L2 D2\nAlg D2' FL2' L2' D2\nAlg D2' FL2' L' D2\nAlg D2' FL' F D2\nAlg D2' FL' F2' D2\nAlg D' FR FL' D\nAlg D' FR2 D FR'\nAlg D' FR2 D FL2\nAlg D' FR2 D FL2'\nAlg D' FR2 FL D\nAlg D' FR2' R2' D\nAlg D' FR' R2' D\nAlg DR2 R2 DR2' U2'\nAlg DR2 R2' DR2' BR\nAlg DR2 R2' DR2' BR2\nAlg DR2 R2' DR2' BR2'\nAlg DR2 R2' DR2' BR'\nAlg DR2 R' BR2' DR2'\nAlg DR2' BR DR2 BR2'\nAlg DR2' BR2 BL DR2\nAlg DR2' BR2 BL2' DR2\nAlg DR2' BR2' BL' DR2\nAlg D B2' BL2' B2 D'\nAlg D2 B2 DL2 B2' D2'\nAlg D2' FL2 L' FL2 D2\nAlg D2' FL2' L D2 FL'\nAlg D2' FL2' L FL2' D2\nAlg D2' FL2' L2' BL2 D2\nAlg B2' DR B2\nAlg B2' DR2 B2\nAlg B2' DR2' B2\nAlg B2' DR' B2\nAlg B' DR' B\nAlg B2' DR FR B2\nAlg B2' DR FR2 B2\nAlg B2' DR FR2' B2\nAlg B2' DR FR' B2\nAlg B2' DR2 R B2\nAlg B2' DR2 R2 B2\nAlg B2' DR2 R2' B2\nAlg B2' DR2 R' B2\nAlg B2' DR2' B2 BR\nAlg B2' DR2' B2 BR2\nAlg B2' DR2' B2 BR2'\nAlg B2' DR2' B2 BR'\nAlg B2' DR' B2 BL2\nAlg B2' DR' B2 BL2'\nAlg B2' DR' B2 BL'\nAlg B' DR2' BR' B\nAlg B' DR' B BR\nAlg B' DR' B BR2'\nAlg B' DR' B BR'\nAlg D2' FR2' FL FR2 D2\nAlg D2' FR2' FL2 FR2 D2\nAlg D2' FR2' FL2' FR2 D2\nAlg D' DR2' FR DR2 D\nAlg D' DR2' FR2 DR2 D\nAlg D' DR' FR' DR D\nAlg D' FR D' FL' D2\nAlg B2 D2 DL2 D2' B2'\nAlg B2 D2 DL2' D2' B2'\nAlg B2 D2 DL' D2' B2'\nAlg B2 D' FR' D B2'\nAlg B2 DL D2' DL' B2'\nAlg B2 DL D' DL' B2'\nAlg B2' DR FR2' B2 F2\nAlg B2' DR FR2' B2 F2'\nAlg B2' DR FR' R B2\nAlg B2' DR FR' R2 B2\nAlg B2' DR2 R2' B2 U\nAlg B2' DR2 R2' B2 U2\nAlg B2' DR2 R2' B2 U2'\nAlg B2' DR' B2 BL2 U'\nAlg B' DR2' BR' B BL2'\nAlg DR D FR D' DR'\nAlg DL2' B D B' DL2\nAlg D2' FR2' FL2' FR2 F D2\nAlg D' DR2' FR DR2 D FL2'\nAlg B2 D B D' DR B2\nAlg FR\nAlg FR2\nAlg FR2'\nAlg FR'\nAlg FR2 FL\nAlg FR2 FL2\nAlg FR2 FL2'\nAlg FR2 FL'\nAlg FR2' F\nAlg FR2' F2\nAlg FR2' F2'\nAlg FR2' F'\nAlg FR' R\nAlg FR' R2\nAlg FR' R2'\nAlg FR' R'\nAlg D FR D'\nAlg DR R DR'\nAlg DR R2' DR'\nAlg DR R' DR'\nAlg DR2 BR2 DR2'\nAlg DR2 BR2' DR2'\nAlg DR2 BR' DR2'\nAlg FR2 FL2' L\nAlg FR2 FL2' L2\nAlg FR2 FL2' L2'\nAlg FR2 FL' F\nAlg FR2 FL' F2\nAlg FR2 FL' F'\nAlg FR2' F FL\nAlg FR2' F FL2'\nAlg FR2' F FL'\nAlg FR2' F2' U\nAlg FR2' F2' U2\nAlg FR2' F2' U2'\nAlg FR2' F' R2'\nAlg FR' R2' BR'\nAlg DR R DR' FR\nAlg DR R DR' FR2\nAlg DR R2' DR' U2'\nAlg DR R' DR' BR2\nAlg DR R' DR' BR2'\nAlg DR R' DR' BR'\nAlg DR2 BR2' BL2' DR2'\nAlg DR2 BR2' BL' DR2'\nAlg FR2 FL' F L2\nAlg FR2 FL' F L2'\nAlg B' DR2 BR' DR2' B\nAlg DR R2' U2' BL2 DR'\nAlg D' FL D\nAlg D' FL2 D\nAlg D' FL2' D\nAlg D' FL' D\nAlg FR FL FR'\nAlg FR FL2 FR'\nAlg FR FL2' FR'\nAlg FR FL' FR'\nAlg FR2 F2 FR2'\nAlg FR2 F2' FR2'\nAlg FR2' R FR2\nAlg FR2' R2 FR2\nAlg FR2' R2' FR2\nAlg D FR2 D' FR2'\nAlg D FR2' D' FR2\nAlg D' FL D FL'\nAlg D' FL2 D FL'\nAlg D' FL2 L D\nAlg D' FL2 L2 D\nAlg D' FL2 L2' D\nAlg D' FL2 L' D\nAlg D' FL2' F2' D\nAlg D' FL2' L2 D\nAlg D' FL2' L2' D\nAlg D' FL2' L' D\nAlg D' FL' F2' D\nAlg FR FL2' F' FR'\nAlg FR FL2' FR' L\nAlg FR FL2' FR' L2\nAlg FR FL2' FR' L2'\nAlg FR2 F2 FR2' U2\nAlg FR2 F2 FR2' U2'\nAlg FR2 F2' FR2' U2'\nAlg FR2 F2' FR2' R\nAlg FR2 F2' FR2' R2\nAlg FR2 F2' FR2' R2'\nAlg FR2 F2' FR2' R'\nAlg FR2 F' R2' FR2'\nAlg FR2' R FR2 R2'\nAlg FR2' R2 BR FR2\nAlg FR2' R2 BR2 FR2\nAlg FR2' R2 BR2' FR2\nAlg FR2' R2' BR2' FR2\nAlg FR2' R2' BR' FR2\nAlg D DR2' BR2' DR2 D'\nAlg D FR2' D' FR2 FL2\nAlg D2' B DL B' D2\nAlg D2' B2' D' B2 D2'\nAlg D' FL2 L BL D\nAlg D' FL2 L' FL2 D\nAlg D' FL2' F2' R' D\nAlg D' FL2' L FL2' D\nAlg D' FL2' L2' BL2 D\nAlg DR2' FR DR2\nAlg DR2' FR2 DR2\nAlg DR2' FR2' DR2\nAlg DR2' FR' DR2\nAlg DR' FR' DR\nAlg DR2' FR FL DR2\nAlg DR2' FR FL2 DR2\nAlg DR2' FR FL2' DR2\nAlg DR2' FR FL' DR2\nAlg DR2' FR2 DR2 F\nAlg DR2' FR2 DR2 F2\nAlg DR2' FR2 DR2 F2'\nAlg DR2' FR2 DR2 F'\nAlg DR2' FR2' DR2 R\nAlg DR2' FR2' DR2 R2\nAlg DR2' FR2' DR2 R2'\nAlg DR2' FR2' DR2 R'\nAlg DR2' FR' DR2 BR2\nAlg DR2' FR' DR2 BR2'\nAlg DR2' FR' DR2 BR'\nAlg DR' FR2' R' DR\nAlg DR' FR' DR R\nAlg DR' FR' DR R2'\nAlg DR' FR' DR R'\nAlg D' FR2' FL FR2 D\nAlg D' FR2' FL2 FR2 D\nAlg D' FR' FL' FR D\nAlg B2' DR2 FR' DR2' B2\nAlg B' DR2 FR' DR2' B\nAlg DR2 D' FL' D DR2'\nAlg DR2' FR FL2' DR2 L\nAlg DR2' FR FL2' DR2 L2\nAlg DR2' FR FL2' DR2 L2'\nAlg DR2' FR FL' DR2 F\nAlg DR2' FR FL' DR2 F2\nAlg DR2' FR2 F FL2 DR2\nAlg DR2' FR2 DR2 F2' U\nAlg DR2' FR2 DR2 F2' U2\nAlg DR2' FR2 DR2 F2' U2'\nAlg DR2' FR' DR2 BR2 U'\nAlg DR2' FR' DR2 BR2' BL2'\nAlg DR' FR2' R' DR BR2'\nAlg D' FR2' FL2 FR2 L D\nAlg D' FR2' FL2 FR2 L2 D\nAlg B2' DR2' FR2' R' DR2 B2\nAlg DR2 D DR D' FR DR2\nAlg DR2' FR' DR2 BR2 U' BL2\nAlg FL\nAlg FL2\nAlg FL2'\nAlg FL'\nAlg FL L\nAlg FL L2\nAlg FL L2'\nAlg FL L'\nAlg FL2 F\nAlg FL2 F2\nAlg FL2 F2'\nAlg FL2 F'\nAlg FR2' FL2' FR2\nAlg FR' FL2' FR\nAlg FL L2 BL\nAlg FL L2 BL2\nAlg FL L2 BL2'\nAlg FL L2 BL'\nAlg FL L2' U\nAlg FL L2' U2\nAlg FL L2' U2'\nAlg FL L' F\nAlg FL L' F2\nAlg FL L' F'\nAlg FL2 F L\nAlg FL2 F L2\nAlg FL2 F L2'\nAlg FL2 F L'\nAlg FL2 F2' R\nAlg FL2 F2' R2\nAlg FL2 F2' R2'\nAlg FR' FL2 F' FR\nAlg FL L2 BL2' BR\nAlg FL L2 BL2' BR2\nAlg FL L2 BL' U\nAlg FL L2' U BL2\nAlg FL L2' U BL2'\nAlg FL L2' U BL'\nAlg FL L2' U2' R\nAlg FL L2' U2' R2\nAlg FL L' F' FL\nAlg FL L' F' FL2\nAlg FL L' F' FL2'\nAlg B DL2' BL DL2 B'\nAlg FL L2 BL' U BR2'\nAlg FL2 L FL2'\nAlg FL2 L2 FL2'\nAlg FL2 L2' FL2'\nAlg FL2 L' FL2'\nAlg FL2' F2 FL2\nAlg FL2' F2' FL2\nAlg FL2' F' FL2\nAlg FR2' FL' FR2 FL\nAlg FL2 L2 FL2' L2'\nAlg FL2 L2 FL2' L'\nAlg FL2 L2 FL2' BL\nAlg FL2 L2 FL2' BL2\nAlg FL2 L2 FL2' BL2'\nAlg FL2 L2 FL2' BL'\nAlg FL2 L2' FL2' U\nAlg FL2 L2' FL2' U2\nAlg FL2 L2' FL2' U2'\nAlg FL2 L2' FL2' BL\nAlg FL2 L2' FL2' BL2\nAlg FL2 L2' FL2' BL2'\nAlg FL2 L2' FL2' BL'\nAlg FL2 L' FL2' U\nAlg FL2 L' FL2' U2'\nAlg FL2 L' FL2' F\nAlg FL2 L' FL2' F2\nAlg FL2 L' FL2' F2'\nAlg FL2 L' FL2' F'\nAlg FL2' F L FL2\nAlg FL2' F L' FL2\nAlg FL2' F2 L FL2\nAlg FL2' F2 L2 FL2\nAlg FL2' F2 L2' FL2\nAlg FL2' F2 FL2 F'\nAlg FL2' F2 FL2 L2\nAlg FL2' F2' R FL2\nAlg FL2' F2' R2 FL2\nAlg FL2' F2' R2' FL2\nAlg FL2' F' R2' FL2\nAlg FL2' F' R' FL2\nAlg FL' FR2' FL FR2\nAlg D DR2' FR2' DR2 D'\nAlg D FR2' R' FR2 D'\nAlg D' DL2 BL2 DL2' D\nAlg B2 D2' B D2 B2\nAlg DR2 D2 DR D2' DR2\nAlg FR2 D FR D' FR2\nAlg FL2 L2 BL' L2 FL2'\nAlg FL2 L2 FL2' BL2 BR\nAlg FL2 L2' BL L2' FL2'\nAlg FL2 L2' FL2' BL L'\nAlg DL FL DL'\nAlg DL FL2 DL'\nAlg DL FL2' DL'\nAlg DL FL' DL'\nAlg DL2 FL DL2'\nAlg DL FL DL' L\nAlg DL FL DL' L2\nAlg DL FL DL' L2'\nAlg DL FL DL' L'\nAlg DL FL2 L DL'\nAlg DL FL2 L2 DL'\nAlg DL FL2 L2' DL'\nAlg DL FL2 L' DL'\nAlg DL FL2 DL' L\nAlg DL FL2' DL' F2\nAlg DL FL2' DL' F2'\nAlg DL FL2' DL' F'\nAlg DL2 FL DL2' BL\nAlg DL2 FL DL2' BL2\nAlg DL2 FL DL2' BL2'\nAlg B DL2' FL DL2 B'\nAlg B2 DL2' FL DL2 B2'\nAlg FL2 F2 L' F2' FL2'\nAlg FL2 F2' L' F2 FL2'\nAlg FL2 F' L' F FL2'\nAlg FL2' FR2' FL FR2 FL2\nAlg FL2' FR' F' FR FL2\nAlg DL FL DL' L BL2'\nAlg DL FL DL' L BL'\nAlg DL FL DL' L2 U2\nAlg DL FL DL' L2 U2'\nAlg DL FL2 L2' DL' U2\nAlg DL FL2 L2' DL' U2'\nAlg DL FL2 L' DL' F'\nAlg DL FL2' DL' F2' R2\nAlg DL FL2' DL' F2' R2'\nAlg DL2 FL DL2' BL2 BR2\nAlg B DL2 FL DL2' BL B'\nAlg FL2 F2' L' F2 R2 FL2'\nAlg FL2 F2' L' F2 R2' FL2'\nAlg FL2' FR' F FR L FL2\nAlg DL FL DL' L BL2' BR2\nAlg DL FL2 L DL FL' DL2'\nAlg FR F FR'\nAlg FR F2 FR'\nAlg FR F2' FR'\nAlg FR F' FR'\nAlg FR2 R FR2'\nAlg FR2 R2 FR2'\nAlg FR2 R2' FR2'\nAlg FR2 R' FR2'\nAlg FL2' L FL2\nAlg FL2' L2 FL2\nAlg FL2' L2' FL2\nAlg FL' F FL\nAlg FL' F2 FL\nAlg FL' F' FL\nAlg FR F FR' F'\nAlg FR F2 FR' L\nAlg FR F2' FR' U\nAlg FR F2' FR' U2\nAlg FR F2' FR' U2'\nAlg FR F' FR' R\nAlg FR F' FR' R2\nAlg FR F' FR' R2'\nAlg FR F' FR' R'\nAlg FR2 R FR2' F2\nAlg FR2 R FR2' R'\nAlg FR2 R2' BR FR2'\nAlg FR2 R2' BR2 FR2'\nAlg FR2 R2' BR2' FR2'\nAlg FR2 R2' BR' FR2'\nAlg FL2' L2 FL2 BL\nAlg FL2' L2 FL2 BL2\nAlg FL2' L2' FL2 U\nAlg FL' F L2 FL\nAlg FL' F L2' FL\nAlg FL' F FL L\nAlg DR' FR2 R' FR2' DR\nAlg FR F2' U2' BR FR'\nAlg FR F2' U2' BR2 FR'\nAlg FR F' FR R' FR2'\nAlg FL2' L2' FL2 U BL2\nAlg FL2' L2' FL2 U BL2'\nAlg FR F L F' FR'\nAlg FR F L2 F' FR'\nAlg FR F L2' F' FR'\nAlg FR F L' F' FR'\nAlg FR F2 U F2' FR'\nAlg FR F2 U2 F2' FR'\nAlg FR F2 U2' F2' FR'\nAlg FR F2' R F2 FR'\nAlg FR F2' R2 F2 FR'\nAlg FR F2' R2' F2 FR'\nAlg FR FL' L FL FR'\nAlg FR FL' L2 FL FR'\nAlg FR FL' L' FL FR'\nAlg FR2 F2' L F2 FR2'\nAlg FR2 F2' L2 F2 FR2'\nAlg FR2 F' U2 F FR2'\nAlg FR2 F' U2' F FR2'\nAlg FR2 R U R' FR2'\nAlg FR2 R U' R' FR2'\nAlg FR2 R2 BR2 R2' FR2'\nAlg FR2 R2 BR2' R2' FR2'\nAlg FR2' DR BR DR' FR2\nAlg FR2' R2' U R2 FR2\nAlg FR2' R2' U2 R2 FR2\nAlg FR2' R' BR2 R FR2\nAlg FR2' R' BR2' R FR2\nAlg FR2' R' BR' R FR2\nAlg FL2 L BL L' FL2'\nAlg FL2 L2 U2' L2' FL2'\nAlg FL2 DL' BL2 DL FL2'\nAlg FL2' F2 R2' F2' FL2\nAlg FL2' L2' BL2 L2 FL2\nAlg FL' F2 L F2' FL\nAlg FL' F2 L2 F2' FL\nAlg FL' F' R' F FL\nAlg FL' FR R' FR' FL\nAlg FR F L2' F' FR' BL\nAlg FR F L2' F' FR' BL2\nAlg FR F L' F' FR' F'\nAlg FR F2 U2 BR2 F2' FR'\nAlg FR F2 U2 BR2' F2' FR'\nAlg FR F2' R F2 R2' FR'\nAlg FR F2' R2' F2 FR' R'\nAlg FR FL' L FL FR' F'\nAlg FR2 F' U2 F FR2' L2'\nAlg FR F L2 BL' L2 F' FR'\nAlg FR F L2' F U' F2' FR'\nAlg R\nAlg R2\nAlg R2'\nAlg R'\nAlg R2 F\nAlg R2 F2\nAlg R2 F2'\nAlg R2 F'\nAlg R2' U\nAlg R2' U2\nAlg R2' U2'\nAlg R2' U'\nAlg R' BR\nAlg R' BR2\nAlg R' BR2'\nAlg R' BR'\nAlg DR BR DR'\nAlg DR BR2' DR'\nAlg DR BR' DR'\nAlg FR R FR'\nAlg R2 F2' L\nAlg R2 F2' L2\nAlg R2 F2' L2'\nAlg R2 F' U\nAlg R2 F' U2\nAlg R2 F' U'\nAlg R2' U F\nAlg R2' U F2'\nAlg R2' U F'\nAlg R2' U2' BL\nAlg R2' U2' BL2\nAlg R2' U2' BL2'\nAlg R2' U' BR2'\nAlg DR BR DR' R\nAlg DR BR DR' R2\nAlg DR BR2' BL2' DR'\nAlg DR BR2' BL' DR'\nAlg R2 F' U L2\nAlg R2 F' U L2'\nAlg FR' F FR\nAlg FR' F2 FR\nAlg FR' F2' FR\nAlg FR' F' FR\nAlg R F R'\nAlg R F2 R'\nAlg R F2' R'\nAlg R F' R'\nAlg R2 U2 R2'\nAlg R2 U2' R2'\nAlg R2' BR R2\nAlg R2' BR2 R2\nAlg R2' BR2' R2\nAlg FR R2 FR' R2'\nAlg FR R2' FR' R2\nAlg FR' F FR F'\nAlg FR' F2 FR F'\nAlg FR' F2 FR L\nAlg FR' F2 FR L2\nAlg FR' F2 FR L2'\nAlg FR' F2 FR L'\nAlg FR' F2' FR U2'\nAlg FR' F2' FR L2\nAlg FR' F2' FR L2'\nAlg FR' F2' FR L'\nAlg FR' F' FR U2'\nAlg R F2' U' R'\nAlg R F2' R' L\nAlg R F2' R' L2\nAlg R F2' R' L2'\nAlg R2 U2 R2' BL2\nAlg R2 U2 R2' BL2'\nAlg R2 U2' BR R2'\nAlg R2 U2' BR2 R2'\nAlg R2 U2' R2' BL2'\nAlg R2 U2' R2' BR2'\nAlg R2 U2' R2' BR'\nAlg R2 U' BR2' R2'\nAlg R2' BR R2 BR2'\nAlg DR BR2 BL2' BR2' DR'\nAlg FR R2' FR' R2 F2\nAlg FR' F2 L' F2 FR\nAlg FR' F2' U2' BR' FR\nAlg FR' F2' L F2' FR\nAlg DR' R DR\nAlg DR' R2 DR\nAlg DR' R2' DR\nAlg DR' R' DR\nAlg DR' R DR F\nAlg DR' R DR F2\nAlg DR' R DR F2'\nAlg DR' R DR F'\nAlg DR' R2 DR U\nAlg DR' R2 DR U2\nAlg DR' R2 DR U2'\nAlg DR' R2 DR U'\nAlg DR' R2' DR BR\nAlg DR' R2' DR BR2\nAlg DR' R2' DR BR2'\nAlg DR' R2' DR BR'\nAlg DR' R' DR BR\nAlg DR' R' DR BR2'\nAlg DR' R' DR BR'\nAlg B2' DR2' R' DR2 B2\nAlg DR2' FR' F FR DR2\nAlg DR2' FR' F2 FR DR2\nAlg DR2' FR' F' FR DR2\nAlg DR' R DR F2' L\nAlg DR' R DR F2' L2\nAlg DR' R DR F2' L2'\nAlg DR' R DR F' U\nAlg DR' R DR F' U2\nAlg DR' R DR F' U'\nAlg DR' R2 U2' BL DR\nAlg DR' R2 U2' BL2 DR\nAlg DR' R2 U2' BL2' DR\nAlg DR' R2 DR U F2\nAlg DR' R' DR BR2' BL2'\nAlg DR2' FR' F2 FR DR2 L\nAlg DR2' FR' F2 FR DR2 L2\nAlg DR' FR' F' FR R' DR\nAlg BR\nAlg BR2\nAlg BR2'\nAlg BR'\nAlg BR2' U\nAlg BR2' U2\nAlg BR2' U2'\nAlg BR2' U'\nAlg BR' BL\nAlg BR' BL2\nAlg BR' BL2'\nAlg BR' BL'\nAlg B BL B'\nAlg B BL2' B'\nAlg B BL' B'\nAlg BR2' U2 F\nAlg BR2' U2 F2\nAlg BR2' U2 F2'\nAlg BR2' U2 F'\nAlg BR2' U2' L\nAlg BR2' U2' L2\nAlg BR2' U2' L2'\nAlg BR2' U' BL2'\nAlg BR' BL U\nAlg BR' BL U2\nAlg BR' BL U2'\nAlg BR' BL U'\nAlg B BL B' BR\nAlg B BL B' BR2\nAlg B BL B' BR2'\nAlg B BL2' L2' B'\nAlg B BL2' L' B'\nAlg BR2' U2' L F2\nAlg BR2' U2' L F2'\nAlg BR2' U2' L F'\nAlg BR2 U BR2'\nAlg BR2 U2 BR2'\nAlg BR2 U2' BR2'\nAlg BR2 U' BR2'\nAlg BR2' BL BR2\nAlg BR2' BL2 BR2\nAlg BR2' BL2' BR2\nAlg BR R BR' R'\nAlg BR2 U BR2' U2'\nAlg BR2 U BR2' U'\nAlg BR2 U BR2' F\nAlg BR2 U BR2' F2\nAlg BR2 U BR2' F2'\nAlg BR2 U BR2' F'\nAlg BR2 U2 BR2' F\nAlg BR2 U2 BR2' F2\nAlg BR2 U2 BR2' F2'\nAlg BR2 U2 BR2' F'\nAlg BR2 U2 BR2' L\nAlg BR2 U2 BR2' L2\nAlg BR2 U2 BR2' L2'\nAlg BR2 U2' BL BR2'\nAlg BR2 U2' BL2 BR2'\nAlg BR2 U2' BL' BR2'\nAlg BR2 U2' BR2' L\nAlg BR2 U2' BR2' L2'\nAlg BR2 U2' BR2' BL2'\nAlg BR2 U2' BR2' BL'\nAlg BR2 U' BL BR2'\nAlg BR2 U' BL2' BR2'\nAlg BR2 U' BL' BR2'\nAlg BR2' BL BR2 U2\nAlg BR2' BL BR2 U2'\nAlg BR2' BL BR2 BL2'\nAlg BR2' BL BR2 BL'\nAlg B BL2 L2' BL2' B'\nAlg DR' R2 F R2' DR\nAlg BR2 U F' U2' BR2'\nAlg BR2 U BR2' U2' BL'\nAlg BR2 U2 F U' BR2'\nAlg BR2 U2 BR2' L F2'\nAlg B' BR B\nAlg B' BR2 B\nAlg B' BR2' B\nAlg B' BR' B\nAlg B' BR2 B U\nAlg B' BR2 B U2\nAlg B' BR2 B U2'\nAlg B' BR2 B U'\nAlg B' BR2' B BL\nAlg B' BR2' B BL2\nAlg B' BR2' B BL2'\nAlg B' BR2' B BL'\nAlg B' BR' B BL\nAlg B' BR' B BL2'\nAlg B' BR' B BL'\nAlg B' BR2 U2' L B\nAlg B' BR2 U2' L2 B\nAlg B' BR2 U2' L2' B\nAlg B' BR2 B U2 F\nAlg B' BR2 B U2 F2\nAlg B' BR2 B U2 F2'\nAlg B' BR2 B U2 F'\nAlg B' BR2' B BL U\nAlg B' BR2' B BL U2\nAlg B' BR2' B BL U2'\nAlg B' BR2' B BL U'\nAlg B' BR' B BL2' L2'\nAlg B' BR' B BL2' L'\nAlg BR2 R U R' BR2'\nAlg B' BR2 U2' L B F2'\nAlg B' BR2 U2' L B F'\nAlg B' BR' B BR2 BL BR2'\nAlg B' BR2 U R BR' R' B\nAlg BR U BR'\nAlg BR U2 BR'\nAlg BR U2' BR'\nAlg BR U' BR'\nAlg BR2 BL BR2'\nAlg BR2 BL2 BR2'\nAlg BR2 BL2' BR2'\nAlg BR2 BL' BR2'\nAlg R2' F R2\nAlg R2' F2 R2\nAlg R2' F2' R2\nAlg R' U R\nAlg R' U2 R\nAlg R' U' R\nAlg BR U BR' U'\nAlg BR U2 BR' F\nAlg BR U2' BR' L\nAlg BR U2' BR' L2\nAlg BR U2' BR' L2'\nAlg BR U' BL BR'\nAlg BR U' BL2 BR'\nAlg BR U' BL2' BR'\nAlg BR U' BR' BL'\nAlg BR2 BL BR2' U2\nAlg BR2 BL BR2' BL'\nAlg R2' F2' R2 L\nAlg R2' F2' R2 L2\nAlg R' U F2 R\nAlg R' U F2' R\nAlg R' U R F\nAlg BR U' BR BL' BR2'\nAlg BR U F U' BR'\nAlg BR U F2 U' BR'\nAlg BR U F2' U' BR'\nAlg BR U F' U' BR'\nAlg BR U2 L U2' BR'\nAlg BR U2 L2 U2' BR'\nAlg BR U2 L2' U2' BR'\nAlg BR U2' BL U2 BR'\nAlg BR U2' BL2 U2 BR'\nAlg BR U2' BL2' U2 BR'\nAlg BR R' F R BR'\nAlg BR R' F2 R BR'\nAlg BR R' F' R BR'\nAlg BR2 U2' F U2 BR2'\nAlg BR2 U2' F2 U2 BR2'\nAlg BR2 U' L2 U BR2'\nAlg BR2 U' L2' U BR2'\nAlg BR2 BL L BL' BR2'\nAlg BR2 BL L' BL' BR2'\nAlg BR2' BL2' L BL2 BR2\nAlg BR2' BL2' L2 BL2 BR2\nAlg R2 F2 L F2' R2'\nAlg R2 F2 L2 F2' R2'\nAlg R2 F2 L2' F2' R2'\nAlg R2' U2 BL2' U2' R2\nAlg R' U2 F U2' R\nAlg R' U2 F2 U2' R\nAlg R' U' BL' U R\nAlg R' BR BL' BR' R\nAlg BR U F' U' BR' U'\nAlg BR U2 L' BL2 U2' BR'\nAlg BR U2' BL U2 BL2' BR'\nAlg BR U2' BL2' U2 BR' BL'\nAlg BR R' F R BR' U'\nAlg BR2 U' L2 U BR2' F2'\nAlg BR2 U' L2 U BR2' F'\nAlg BR U F2' U L' U2' BR'\nAlg BR U F2' L' F U' BR'\nAlg F\nAlg F2\nAlg F2'\nAlg F'\nAlg F L\nAlg F L2\nAlg F L2'\nAlg F L'\nAlg F2 U\nAlg F2 U2\nAlg F2 U2'\nAlg F2 U'\nAlg F L2' BL\nAlg F L2' BL2\nAlg F L2' BL2'\nAlg F L' U\nAlg F L' U2\nAlg F L' U2'\nAlg F L' U'\nAlg F2 U L\nAlg F2 U L2\nAlg F2 U L2'\nAlg F2 U L'\nAlg F L' U BL2\nAlg F L' U BL2'\nAlg F L' U BL'\nAlg F L' U' F\nAlg F L' U' F2\nAlg F L' U' F2'\nAlg F2 L F2'\nAlg F2 L2 F2'\nAlg F2 L2' F2'\nAlg F2 L' F2'\nAlg F2' U2 F2\nAlg F2' U2' F2\nAlg F2' U' F2\nAlg F2 L2 F2' L2'\nAlg F2 L2 F2' L'\nAlg F2 L2' BL F2'\nAlg F2 L2' BL2 F2'\nAlg F2 L2' BL2' F2'\nAlg F2 L' F2' U\nAlg F2 L' F2' U2\nAlg F2 L' F2' U2'\nAlg F2 L' F2' U'\nAlg F2 L' BL F2'\nAlg F2 L' BL2 F2'\nAlg F2 L' BL2' F2'\nAlg F2' U L F2\nAlg F2' U L2 F2\nAlg F2' U L' F2\nAlg F2' U2 F2 U2'\nAlg F2' U2 F2 U'\nAlg F2' U2 F2 L2\nAlg F2' U2 F2 L2'\nAlg F2' U2 F2 L'\nAlg F2' U2 L F2\nAlg F' R' F R\nAlg F L2 BL L2' F'\nAlg F L2 BL2 L2' F'\nAlg F2 L2 F2' L2' U2'\nAlg F2 L2' BL' L F2'\nAlg F2 L' F U2' F2\nAlg F2 L' F' U' F'\nAlg FL F FL'\nAlg FL F2 FL'\nAlg FL F2' FL'\nAlg FL F' FL'\nAlg FL F FL' L\nAlg FL F FL' L2\nAlg FL F FL' L2'\nAlg FL F FL' L'\nAlg FL F2 FL' L\nAlg FL F2 FL' L2\nAlg FL F2 FL' L2'\nAlg FL F2 FL' L'\nAlg FL F2' FL' U2\nAlg FL F2' FL' U2'\nAlg FL F2' FL' U'\nAlg F2 U2 L' U2' F2'\nAlg F2 U2' L' U2 F2'\nAlg F2 U' L' U F2'\nAlg FL F FL' L2 BL\nAlg FL F FL' L2 BL2\nAlg FL F FL' L2 BL2'\nAlg FL F2 FL' L2' BL\nAlg FL F2 FL' L2' BL2\nAlg FL F2 FL' L2' BL2'\nAlg FL F2 FL' L' U'\nAlg FL F FL' F2' L' F2\nAlg F2 U F U L U2' F2'\nAlg F2' L F2\nAlg F2' L2 F2\nAlg F2' L2' F2\nAlg F2' L' F2\nAlg F' U F\nAlg F' U2 F\nAlg F' U2' F\nAlg F' U' F\nAlg R U R'\nAlg R U2' R'\nAlg R U' R'\nAlg F R' F' R\nAlg F2' L F2 L'\nAlg F2' L2' BL F2\nAlg F2' L2' BL2 F2\nAlg F2' L2' BL2' F2\nAlg F' U F U'\nAlg F' U F L\nAlg F' U F L2\nAlg F' U F L2'\nAlg F' U F L'\nAlg R U2' R' BL2\nAlg R U2' R' BL2'\nAlg R U2' R' BL'\nAlg F2' L' F U' F\nAlg F2 L2 BL L2' F2'\nAlg F2 L2 BL2 L2' F2'\nAlg F2 L2 BL2' L2' F2'\nAlg F2 L2 BL' L2' F2'\nAlg F2' U BL U' F2\nAlg F2' U BL' U' F2\nAlg F2' L' BL L F2\nAlg F2' L' BL2 L F2\nAlg F2' L' BL2' L F2\nAlg F2' L' BL' L F2\nAlg F' U2 L U2' F\nAlg F' U2 L2 U2' F\nAlg F' U2 L2' U2' F\nAlg F' U2' BL2 U2 F\nAlg R U L U' R'\nAlg R U L' U' R'\nAlg R F' L F R'\nAlg R2 U2' L2 U2 R2'\nAlg R2 U' BL2 U R2'\nAlg R2 U' BL2' U R2'\nAlg R2 U' BL' U R2'\nAlg R2 BR BL' BR' R2'\nAlg F2 L2 BL2' L2' F2' U2\nAlg F2' U BL U' F2 L\nAlg F2' U BL' U' F2 L2\nAlg F2' U BL' U' F2 L2'\nAlg F2' L' BL L F2 U2\nAlg F2' L' BL L F2 U2'\nAlg F2' L' BL' L F2 U\nAlg F2' L' BL' L F2 U2\nAlg F' U2 L' U BL2' U2 F\nAlg F' U2' BL L' BL2' U2 F\nAlg U\nAlg U2\nAlg U2'\nAlg U'\nAlg U L\nAlg U L2\nAlg U L2'\nAlg U L'\nAlg U2 BL\nAlg U2 BL2\nAlg U2 BL2'\nAlg U2 BL'\nAlg U L' BL\nAlg U L' BL2\nAlg U L' BL2'\nAlg U L' BL'\nAlg U2 BL L\nAlg U2 BL L2\nAlg U2 BL L2'\nAlg U2 BL L'\nAlg U F' L F\nAlg U L' BL' U\nAlg U L' BL' U2\nAlg U2 L U2'\nAlg U2 L2 U2'\nAlg U2 L2' U2'\nAlg U2 L' U2'\nAlg U2' BL2 U2\nAlg U2' BL2' U2\nAlg U2' BL' U2\nAlg U2 L2 U2' L2'\nAlg U2 L2 U2' L'\nAlg U2 L' U2' BL\nAlg U2 L' U2' BL2\nAlg U2 L' U2' BL2'\nAlg U2 L' U2' BL'\nAlg U2' BL L U2\nAlg U2' BL L2 U2\nAlg U2' BL L2' U2\nAlg U2' BL L' U2\nAlg U2' BL2 U2 L2\nAlg U2' BL2 U2 L2'\nAlg U2' BL2 U2 L'\nAlg U2' BL2 U2 BL2'\nAlg U2' BL2 U2 BL'\nAlg U2' BL2 L U2\nAlg U' BR' U BR\nAlg U2 L' U BL2' U2\nAlg U2 L2' U2' L2 BL2\nAlg U2 L2' U2' L2 BL2'\nAlg U2 L' U' BL' U'\nAlg U2' BL2 U' L U2'\nAlg F U F'\nAlg F U2 F'\nAlg F U2' F'\nAlg F U' F'\nAlg F U F' L\nAlg F U F' L2\nAlg F U F' L2'\nAlg F U F' L'\nAlg F U2 F' L\nAlg F U2 F' L2\nAlg F U2 F' L2'\nAlg F U2 F' L'\nAlg F U2' BL2 F'\nAlg F U2' BL2' F'\nAlg F U2' BL' F'\nAlg U2 BL2 L' BL2' U2'\nAlg U2 BL' L' BL U2'\nAlg U2 BL2' L' BL2 U2'\nAlg F U2 F' L' BL'\nAlg F U F' U2' L' U2\nAlg U2 L U2 L2' U' BL' U2\nAlg U2' L U2\nAlg U2' L2 U2\nAlg U2' L2' U2\nAlg U2' L' U2\nAlg U' BL U\nAlg U' BL2 U\nAlg U' BL2' U\nAlg U' BL' U\nAlg BR BL BR'\nAlg BR BL2' BR'\nAlg BR BL' BR'\nAlg U BR' U' BR\nAlg U2' L U2 L'\nAlg U' BL U L\nAlg U' BL U L2\nAlg U' BL U L2'\nAlg U' BL U L'\nAlg U' BL U BL'\nAlg U2' L' U BL' U\nAlg U' BL2 L BL2' U\nAlg U' BL2 L2 BL2' U\nAlg U' BL2 L2' BL2' U\nAlg U' BL2 L' BL2' U\nAlg BR U' L U BR'\nAlg BR U' L2 U BR'\nAlg BR U' L2' U BR'\nAlg BR U' L' U BR'\nAlg BR BL L BL' BR'\nAlg BR BL L' BL' BR'\nAlg BR2 BL2' L BL2 BR2'\nAlg BR2 BL2' L2 BL2 BR2'\nAlg U2' L BL2' L' BL2 U2\nAlg U2' L2 F' L2' F U2\nAlg U2' L' DL L DL' U2\nAlg U2' BL2' L BL2 L' U2\nAlg U2' BL2' L2 BL2 L2' U2\nAlg U' BL2 L BL2' U BL\nAlg U' BL2 L2 BL2' U L\nAlg U' BL2 L2 BL2' U BL2'\nAlg U' BL2 L2 BL2' U BL'\nAlg U' BL2 L2 BL2' L2' U\nAlg BR BL L' BL' BR' BL2'\nAlg BR BL L' BL' BR' BL'\nAlg U' BL U BL U' L2' BL2' U\nAlg U' BL2 U' L2 U L' BL2' U\nAlg L\nAlg L2\nAlg L2'\nAlg L'\nAlg L' BL\nAlg L' BL2\nAlg L' BL2'\nAlg L' BL'\nAlg U BL U'\nAlg U BL2 U'\nAlg U BL2' U'\nAlg U BL' U'\nAlg U BL U' L\nAlg U BL U' L2\nAlg U BL U' L2'\nAlg U BL U' L'\nAlg U BL U' BL'\nAlg L2' BL L2\nAlg L2' BL2 L2\nAlg L2' BL2' L2\nAlg L2' BL' L2\nAlg L2 DL L2' DL'\nAlg L2' BL L2 BL2'\nAlg L2' BL L2 BL'\nAlg F' L2 BL L2' F\nAlg F' L2 BL2 L2' F\nAlg F' L2 BL2' L2' F\nAlg F' L2 BL' L2' F\nAlg L2 DL L' DL' L'\nAlg L2' U BL2' U' L2\nAlg L2' BL L2' BL2' L'\nAlg L2' BL L' BL2' L2'\nAlg L2' DL L' DL' L2\nAlg L' U' L' U L2\nAlg U L' DL L DL' U'\nAlg F' L2 BL L2' BL2' F\nAlg L2 DL' BL DL2 L2' DL'\nAlg L2' U BL2' U' BL L2\nAlg L2' BL' U BL' U' L2\nAlg L2' BL' L2 U' L' U\nAlg U' L U\nAlg U' L2 U\nAlg U' L2' U\nAlg U' L' U\nAlg U' L2' U BL\nAlg U' L2' U BL2\nAlg U' L2' U BL2'\nAlg U' L2' U BL'\nAlg U' L' U BL\nAlg U' L' U BL2\nAlg U' L' U BL2'\nAlg U' L' U BL'\nAlg U' L' U L BL L'\nAlg U' L' U L2 BL L2'\nAlg U' L' U BL U' L2 U\nAlg L2 BL L2'\nAlg L2 BL2 L2'\nAlg L2 BL2' L2'\nAlg L2 BL' L2'\nAlg L2 BL L2' BL'\nAlg L DL L' DL'\nAlg DL L DL' L'\nAlg L U' L2 U L2\nAlg L DL' BL DL L'\nAlg L DL' BL2 DL L'\nAlg L DL' BL' DL L'\nAlg DL L DL' L' BL'\nAlg L2 BL L' DL L' DL'\nAlg FL' L BL L' FL\nAlg FL' L BL2 L' FL\nAlg FL' L BL2' L' FL\nAlg FL' L BL' L' FL\nAlg FL' DL' BL DL FL\nAlg FL' DL' BL2 DL FL\nAlg FL' DL' BL2' DL FL\nAlg FL' DL' BL' DL FL\nAlg L2 BL2' U BL2 U' L2'\nAlg FL' L BL L' FL BL2'\nAlg FL' L BL' L' FL BL\nAlg U' F U BL U' F' U\nAlg U' F U BL2 U' F' U\nAlg U' F U BL2' U' F' U\nAlg F' FL2' DL' BL' DL FL2 F\nAlg L2' BL2 L2' BL' L2 BL' L2\nAlg DL L DL2' BL' DL2 L' DL'\nAlg DL2 FL2' DL2 BL' DL2' FL2 DL2'\nAlg FL' L U BL2' U' BL L' FL\nAlg FL' L2 U' L' U BL2 L' FL\nAlg L BL L'\nAlg L BL2 L'\nAlg L BL2' L'\nAlg L BL' L'\nAlg DL' BL DL\nAlg DL' BL2 DL\nAlg DL' BL2' DL\nAlg DL' BL' DL\nAlg L BL L' BL'\nAlg L' DL L DL'\nAlg L BL2 L' DL' BL' DL\nAlg L U BL2' U' BL2 L'\nAlg L BL2' U BL2 U' L'\nAlg DL' B' BL2 B BL2' DL\nAlg DL' BL2 B' BL2' B DL\nAlg U BL2' DL2' BL2 U' BL2' DL2\nAlg B' BL2 L2 BL2' B BL2 L2'\nAlg L U BL2' U' BL2 L' BL2'\nAlg L U BL2' U' BL2 L' BL'\nAlg L BL B BL' L' BL B'\nAlg L BL2' U BL2 U' L' BL2\nAlg L BL' U BL2 U' BL L'\nAlg L BL' U BL2' U' BL L'\nAlg L BL' U BL' U' BL L'\nAlg L2 BL2 L2' BL' L2 BL' L2'\nAlg DL' BL B' BL2' B BL' DL\nAlg L BL2' L U2 BR' U' BR U' L2'\nAlg L BL2' L BL L' BL L BL2' L2'\nAlg BL\nAlg BL2\nAlg BL2'\nAlg BL'\nAlg U BR BL2 BR' BL2' U'\nAlg B BL DL BL' DL' B'\nAlg L' BL2' DL' BL2 DL L\nAlg BR B BL B' BL' BR'\nAlg U BR BL2 BR' BL2' U' BL2\nAlg U BL BR BL' BR' U'\nAlg U BR BL BR' BL' U'\nAlg U' L' BL2' L BL2 U\nAlg B' BR' BL2' BR BL2 B\nAlg L BL2 U BL2' U' L'\nAlg BR B BL2 B' BL2' BR'\nAlg U BL2 U' BL' U BL' U'\nAlg B BL DL BL DL' BL2' B'\nAlg B BL2 DL BL' DL' BL' B'\nAlg B' BL' B BL2' B' BL2' B\nAlg U BL U' BL2 U BL2 U' BL2\nAlg U BR2 B' BR2' U' BR B BR'\nAlg BL2 BR B DL' B DL B2' BR'\nAlg B BL2' B2' BR B BR' B BL2 B'\nAlg U' BL' L' BL L U BL\nAlg B' BL2 B BL B' BL2 B\nAlg B' BL2' B BL' B' BL2' B\nAlg B' BL' BR' BL' BR BL2 B\nAlg B' BL2' BR' BL BR BL B\nAlg U' BL' L' BL' L BL2 U BL'\nAlg L' BL' L' DL L DL' BL L BL\nAlg L U BL U' BL' L'\nAlg L BL U BL' U' L'\nAlg BR' U' BL' U BL BR\nAlg L U2 BR' U' BR U' L'\nAlg U BL U2' L U L2' BL L BL2'\nAlg U' L2 F' L' F2 U' F' U2 L'\nAlg U BR' U' L U BR U' L'\nAlg U BR B BR' U' BR B' BR'\nAlg U' L U BR' U' L' U BR\nAlg B DL' B' BR B DL B' BR'\nAlg L' DL' B DL L DL' B' DL\nAlg BR B BR' U BR B' BR' U'\nAlg BR B DL' B' BR' B DL B'\nAlg U BR2' U2 L2 U2' BR2 U2 L2' U2\nAlg U2' L2 U2' BR2' U2 L2' U2' BR2 U'\nAlg U BL' B' BL U' L U2 BL' B BL U2' L'\nAlg U BR' U' L F' L2' U BR U' L2 F L'\nAlg U BR U' L U BR' U' L'\nAlg U' BL2 B BL2' U BL2 B' BL2'\nAlg L U BR U' L' U BR' U'\nAlg L BL2' B' BL2 L' BL2' B BL2\nAlg U BR' U2 L2 U2' BR U2 L2' U2\nAlg L' BL2 L2' F' L2 BL2' L2' F L2'\nAlg U BL2' U R U' BL2 U' L U2 R' U2' L'\nAlg U BR U' L2 F L' U BR' U' L F' L2'\nAlg U L' BL2 L' FL' L BL2' L U' L2' FL L2\nAlg U BR2' U R' U2' L U2 R U' BR2 U' L'`)}var zm,Cm,ra=U(()=>{Ve();oo();un();zm=null;Cm=null});var ag={};Ue(ag,{sgsDataPyraminx:()=>sg,sgsDataPyraminxFixedOrientation:()=>na});async function sg(){return Tm??(Tm=Im())}async function na(){return{ordering:(await sg()).ordering.slice(2)}}async function Im(){return zt(await he.pyraminx.kpuzzle(),`SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3\n\nAlg B\nAlg B'\nAlg y\nAlg B y\nAlg B' y\nAlg y'\nAlg B y'\nAlg B' y'\nAlg BR'\nAlg B BR'\nAlg B' BR'\n\nAlg L\nAlg L'\nAlg L F\nAlg L' F\nAlg F\nAlg L F'\nAlg L' F'\nAlg F'\n\nAlg L B' U L' B\nAlg L U L'\nAlg L U' L'\nAlg L U L' U'\nAlg B' U B\nAlg B' U' B\nAlg B' U' B U\nAlg L U' L' R\nAlg L U' L' R'\nAlg L' R' L\nAlg L' R' L R\n\nAlg R\nAlg R'\n\nAlg R' U R\nAlg R' U' R\nAlg R' U R U'\nAlg B U B'\nAlg B U' B'\nAlg R B' R' B\nAlg L R L' R U' R\nAlg R L R' L'\nAlg L' R' U R L\n\nAlg U\nAlg U'\n\nAlg R U R' U'\nAlg U R U' R'\nAlg L' U' L U\nAlg U' L' U L\nAlg U L R' L' R U'\nAlg U' R' L R L' U\nAlg L' U' L U' R U' R'\n\nAlg R U' R' U\nAlg L' U L U'\nAlg U' R U R'\nAlg U L' U' L\nAlg L R' L' R L' U L U'\n\nAlg L' U L U' L R' L' R\n\nAlg b\nAlg b'\n\nAlg l\nAlg l'\n\nAlg r\nAlg r'\n\nAlg u\nAlg u'`)}var Tm,oa=U(()=>{Ot();un();Tm=null});var Lg={};Ue(Lg,{sgsDataSkewb:()=>gg,sgsDataSkewbFixedCorner:()=>ia,skewbKPuzzleWithoutMOCached:()=>fi});async function Wm(){let e=ln(\"skewb\",{allMoves:!0,addRotations:!0});return new Ie(e.getKPuzzleDefinition(!0),{experimentalPGNotation:new br(e,e.getOrbitsDef(!0))})}async function fi(){return Km??(Km=Wm())}async function gg(){return Qm??(Qm=jm())}async function ia(){return{ordering:(await gg()).ordering.slice(1)}}async function jm(){return zt(await fi(),`SubgroupSizes 24 6 5 12 9 3 4 9 3 3\n\nAlg y\nAlg y2\nAlg y'\nAlg F\nAlg F'\nAlg y U\nAlg y U'\nAlg y L\nAlg y L'\nAlg y F\nAlg y F'\nAlg y2 U\nAlg y2 U'\nAlg y2 B\nAlg y2 B'\nAlg y' U\nAlg y' F'\nAlg y U L'\nAlg y U B\nAlg y2 U B\nAlg y2 U B'\nAlg y2 U' B\nAlg y2 U' B'\n\nAlg U\nAlg U'\nAlg U L\nAlg U L'\nAlg U' R'\n\nAlg R\nAlg R'\nAlg R B\nAlg R' L'\n\nAlg U B' U\nAlg U' L U\nAlg U' L' U\nAlg U' B U'\nAlg R L R'\nAlg R B' R\nAlg U B L U'\nAlg U B' U B'\nAlg U B' L' U\nAlg U' L B U'\nAlg R' B L' R'\n\nAlg L\nAlg L'\nAlg L B\nAlg L B'\nAlg L B L\nAlg L B L'\nAlg L B' L\nAlg L B' L'\n\nAlg B\nAlg B'\n\nAlg L' B L\nAlg L' B' L\nAlg R' L' B L R\n\nAlg B L' B L B'\nAlg B L' B' L B'\nAlg U L U B U' L' U'\nAlg R L R' B' R L' R'\nAlg U B' R L R' B' U B\nAlg U' B U L U' B' U L'\nAlg L U' B U L' U' B' U\nAlg R B' U R B L U' B\n\nAlg U L U' B' U L' U' B\nAlg U' B L U L B' U' L'\n\nAlg U R' U' L B R' B' R\nAlg R' U' R U B' U' B L`)}var Km,Qm,sa=U(()=>{Ve();oo();un();Km=null;Qm=null});var yg={};Ue(yg,{getRandomSquare1ScrambleString:()=>Dc});function Zm(e,t){e.ul=t.ul,e.ur=t.ur,e.dl=t.dl,e.dr=t.dr,e.ml=t.ml}function cg(e,t){var r;t<<=2,t>24?(t=48-t,r=e.ul,e.ul=(~~e.ul>>t|e.ur<<24-t)&16777215,e.ur=(~~e.ur>>t|r<<24-t)&16777215):t>0?(r=e.ul,e.ul=(e.ul<<t|~~e.ur>>24-t)&16777215,e.ur=(e.ur<<t|~~r>>24-t)&16777215):t==0?(r=e.ur,e.ur=e.dl,e.dl=r,e.ml=1-e.ml):t>=-24?(t=-t,r=e.dl,e.dl=(e.dl<<t|~~e.dr>>24-t)&16777215,e.dr=(e.dr<<t|~~r>>24-t)&16777215):t<-24&&(t=48+t,r=e.dl,e.dl=(~~e.dl>>t|e.dr<<24-t)&16777215,e.dr=(~~e.dr>>t|r<<24-t)&16777215)}function Xm(e){var t,r,n,o,l;for(n=0,e.arr[0]=Pt(e,0),o=1;o<24;++o)Pt(e,o)!=e.arr[n]&&(e.arr[++n]=Pt(e,o));for(l=0,t=0;t<16;++t)for(r=t+1;r<16;++r)e.arr[t]>e.arr[r]&&(l^=1);return l}function Jm(e){var t,r,n,o;return o=e.ur&1118481,o|=~~o>>3,o|=~~o>>6,o=o&15|~~o>>12&48,n=e.ul&1118481,n|=~~n>>3,n|=~~n>>6,n=n&15|~~n>>12&48,r=e.dr&1118481,r|=~~r>>3,r|=~~r>>6,r=r&15|~~r>>12&48,t=e.dl&1118481,t|=~~t>>3,t|=~~t>>6,t=t&15|~~t>>12&48,Eo(Xm(e)<<24|n<<18|o<<12|t<<6|r)}function $m(e,t){var r,n;for(r=0;r<8;++r)e.prm[r]=~~(~~Pt(e,r*3+1)>>1<<24)>>24;for(t.cornperm=Po(e.prm),t.topEdgeFirst=Pt(e,0)==Pt(e,1),r=t.topEdgeFirst?2:0,n=0;n<4;r+=3,++n)e.prm[n]=~~(~~Pt(e,r)>>1<<24)>>24;for(t.botEdgeFirst=Pt(e,12)==Pt(e,13),r=t.botEdgeFirst?14:12;n<8;r+=3,++n)e.prm[n]=~~(~~Pt(e,r)>>1<<24)>>24;t.edgeperm=Po(e.prm),t.ml=e.ml}function Pt(e,t){var r;return t<6?r=~~e.ul>>(5-t<<2):t<12?r=~~e.ur>>(11-t<<2):t<18?r=~~e.dl>>(17-t<<2):r=~~e.dr>>(23-t<<2),~~((r&15)<<24)>>24}function ua(e,t,r){t<6?(e.ul&=~(15<<(5-t<<2)),e.ul|=r<<(5-t<<2)):t<12?(e.ur&=~(15<<(11-t<<2)),e.ur|=r<<(11-t<<2)):t<18?(e.dl&=~(15<<(17-t<<2)),e.dl|=r<<(17-t<<2)):(e.dr&=~(15<<(23-t<<2)),e.dr|=r<<(23-t<<2))}function fa(){this.arr=[],this.prm=[]}async function ec(){let e=await st();var t,r,n,o,l,i,s,u,a;for(t=new fa,n=Tn[e(3678)],l=19088743<<1|286331153,o=19088743<<1,s=i=8,r=0;r<24;r++)(n>>r&1)==0?(u=e(i)<<2,ua(t,23-r,o>>u&15),a=(1<<u)-1,o=(o&a)+(o>>4&~a),--i):(u=e(s)<<2,ua(t,23-r,l>>u&15),ua(t,22-r,l>>u&15),a=(1<<u)-1,l=(l&a)+(l>>4&~a),--s,++r);return t.ml=e(2),t}function tc(){}function rc(e){var t,r,n,o,l,i;for(Zm(e.Search_d,e.Search_c),n=0;n<e.Search_length1;++n)cg(e.Search_d,e.Search_move[n]);for($m(e.Search_d,e.Search_sq),r=e.Search_sq.edgeperm,t=e.Search_sq.cornperm,l=e.Search_sq.ml,i=Math.max(de[e.Search_sq.edgeperm<<1|l],de[e.Search_sq.cornperm<<1|l]),n=i;n<e.Search_maxlen2;++n)if(Li(e,r,t,e.Search_sq.topEdgeFirst,e.Search_sq.botEdgeFirst,l,n,e.Search_length1,0)){for(o=0;o<n;++o)cg(e.Search_d,e.Search_move[e.Search_length1+o]);return e.Search_sol_string=nc(e,n+e.Search_length1),!0}return!1}function nc(e,t){for(var r=\"\",n=0,o=0,l=t-1;l>=0;l--){var i=e.Search_move[l];i>0?(i=12-i,n=i>6?i-12:i):i<0?(i=12+i,o=i>6?i-12:i):(n==0&&o==0?r+=\" / \":r+=\"(\"+n+\", \"+o+\") / \",n=o=0)}return(n!==0||o!==0)&&(r+=\"(\"+n+\", \"+o+\")\"),r}function gi(e,t,r,n,o,l){var i,s,u;if(r==0&&n<4)return n==0&&rc(e);if(l!=0&&(u=Bi[t],s=ke[u],s<n&&(e.Search_move[o]=0,gi(e,u,s,n-1,o+1,0))))return!0;if(u=t,l<=0){for(i=0;i+=zo[u],u=~~i>>4,i&=15,!(i>=12||(s=ke[u],s>n));)if(s<n&&(e.Search_move[o]=i,gi(e,u,s,n-1,o+1,1)))return!0}if(u=t,l<=1){for(i=0;i+=ko[u],u=~~i>>4,i&=15,!(i>=6||(s=ke[u],s>n));)if(s<n&&(e.Search_move[o]=-i,gi(e,u,s,n-1,o+1,2)))return!0}return!1}function Li(e,t,r,n,o,l,i,s,u){var a,f,g,L,B,p,m;if(i==0&&!n&&o||u!=0&&n==o&&(g=Mo[t],f=Mo[r],de[g<<1|1-l]<i&&de[f<<1|1-l]<i&&(e.Search_move[s]=0,Li(e,g,f,n,o,1-l,i-1,s+1,0))))return!0;if(u<=0)for(m=!n,g=m?Or[t]:t,f=m?r:Or[r],L=m?1:2,B=de[g<<1|l],p=de[f<<1|l];L<12&&B<=i&&B<=i;){if(B<i&&p<i&&(e.Search_move[s]=L,Li(e,g,f,m,o,l,i-1,s+1,1)))return!0;m=!m,m?(g=Or[g],B=de[g<<1|l],L+=1):(f=Or[f],p=de[f<<1|l],L+=2)}if(u<=1)for(a=!o,g=a?Ir[t]:t,f=a?r:Ir[r],L=a?1:2,B=de[g<<1|l],p=de[f<<1|l];L<(i>3?6:12)&&B<=i&&B<=i;){if(B<i&&p<i&&(e.Search_move[s]=-L,Li(e,g,f,n,a,l,i-1,s+1,2)))return!0;a=!a,a?(g=Ir[g],B=de[g<<1|l],L+=1):(f=Ir[f],p=de[f<<1|l],L+=2)}return!1}function oc(e,t){var r;for(e.Search_c=t,r=Jm(t),e.Search_length1=ke[r];e.Search_length1<100&&(e.Search_maxlen2=Math.min(31-e.Search_length1,17),!gi(e,r,ke[r],e.Search_length1,0,-1));++e.Search_length1);return e.Search_sol_string}function pg(){this.Search_move=[],this.Search_d=new fa,this.Search_sq=new Fg}function lc(){}function ic(){Rg||(Rg=!0,Co=[0,3,6,12,15,24,27,30,48,51,54,60,63],Tn=[],ke=[],zo=[],ko=[],Bi=[],uc())}function sc(e){var t,r;t=0,r=0;do(e.bottom&2048)==0?(t+=1,e.bottom=e.bottom<<1):(t+=2,e.bottom=e.bottom<<2^12291),r=1-r;while((_r(e.bottom&63)&1)!=0);return(_r(e.bottom)&2)==0&&(e.Shape_parity^=r),t}function ga(e){var t;return t=hg(Tn,e.top<<12|e.bottom)<<1|e.Shape_parity,t}function La(e,t){e.Shape_parity=t&1,e.top=Tn[~~t>>1],e.bottom=e.top&4095,e.top>>=12}function ac(e){var t,r;t=0,r=0;do(e.top&2048)==0?(t+=1,e.top=e.top<<1):(t+=2,e.top=e.top<<2^12291),r=1-r;while((_r(e.top&63)&1)!=0);return(_r(e.top)&2)==0&&(e.Shape_parity^=r),t}function Dg(){}function Eo(e){var t;return t=hg(Tn,e&16777215)<<1|~~e>>24,t}function uc(){var e,t,r,n,o,l,i,s,u,a,f,g,L,B,p,m;for(e=0,i=0;i<28561;++i)l=Co[i%13],r=Co[~~(i/13)%13],g=Co[~~(~~(i/13)/13)%13],f=Co[~~(~~(~~(i/13)/13)/13)],L=f<<18|g<<12|r<<6|l,_r(L)==16&&(Tn[e++]=L);for(a=new Dg,i=0;i<7356;++i)La(a,i),zo[i]=ac(a),zo[i]|=ga(a)<<4,La(a,i),ko[i]=sc(a),ko[i]|=ga(a)<<4,La(a,i),m=a.top&63,B=_r(m),p=_r(a.bottom&4032),a.Shape_parity^=1&~~(B&p)>>1,a.top=a.top&4032|~~a.bottom>>6&63,a.bottom=a.bottom&63|m<<6,Bi[i]=ga(a);for(i=0;i<7536;++i)ke[i]=-1;for(ke[Eo(14378715)]=0,ke[Eo(31157686)]=0,ke[Eo(23967451)]=0,ke[Eo(7191990)]=0,n=4,o=0,t=-1;n!=o;)for(o=n,++t,i=0;i<7536;++i)if(ke[i]==t){u=0,s=i;do s=zo[s],u+=s&15,s>>=4,ke[s]==-1&&(++n,ke[s]=t+1);while(u!=12);u=0,s=i;do s=ko[s],u+=s&15,s>>=4,ke[s]==-1&&(++n,ke[s]=t+1);while(u!=12);s=Bi[i],ke[s]==-1&&(++n,ke[s]=t+1)}}function fc(){}function gc(){if(!dg){dg=!0,de=[],Mo=[],Or=[],Ir=[],Ag=[1,1,2,6,24,120,720,5040],Nr=[];for(var e=0;e<12;++e)Nr[e]=[];Lc()}}function Fg(){}function Po(e){var t,r,n,o;for(r=0,o=1985229328,t=0;t<7;++t)n=e[t]<<2,r=(8-t)*r+(~~o>>n&7),o-=286331152<<n;return r&65535}function Lc(){var e,t,r,n,o,l,i,s,u,a,f,g,L;for(o=0;o<12;++o)for(Nr[o][0]=1,Nr[o][o]=1,u=1;u<o;++u)Nr[o][u]=Nr[o-1][u-1]+Nr[o-1][u];for(g=[],o=0;o<40320;++o)Ba(g,o),L=g[2],g[2]=g[4],g[4]=L,L=g[3],g[3]=g[5],g[5]=L,Mo[o]=Po(g),Ba(g,o),L=g[0],g[0]=g[1],g[1]=g[2],g[2]=g[3],g[3]=L,Or[o]=Po(g),Ba(g,o),L=g[4],g[4]=g[5],g[5]=g[6],g[6]=g[7],g[7]=L,Ir[o]=Po(g);for(o=0;o<80640;++o)de[o]=-1;for(de[0]=0,t=0,r=1;r<80640;){s=t>=11,n=s?-1:t,e=s?t:-1,++t;e:for(o=0;o<80640;++o)if(de[o]==n){if(l=~~o>>1,f=o&1,i=Mo[l]<<1|1-f,de[i]==e&&(++r,de[s?o:i]=~~(t<<24)>>24,s))continue e;for(i=l,a=0;a<4;++a)if(i=Or[i],de[i<<1|f]==e&&(++r,de[s?o:i<<1|f]=~~(t<<24)>>24,s))continue e;for(a=0;a<4;++a)if(i=Ir[i],de[i<<1|f]==e&&(++r,de[s?o:i<<1|f]=~~(t<<24)>>24,s))continue e}}}function Ba(e,t){var r,n,o,l,i;for(i=1985229328,r=0;r<7;++r)o=Ag[7-r],l=~~(t/o),t-=l*o,l<<=2,e[r]=~~((~~i>>l&7)<<24)>>24,n=(1<<l)-1,i=(i&n)+(~~i>>4&~n);e[7]=~~(i<<24)>>24}function Bc(){}function _r(e){return e-=~~e>>1&1431655765,e=(~~e>>2&858993459)+(e&858993459),e=(~~e>>4)+e&252645135,e+=~~e>>8,e+=~~e>>16,e&63}function hg(e,t){var r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}async function Dc(){return(await Rc()).scramble_string}var Se,Rg,ko,Tn,ke,zo,Bi,Co,dg,Ir,Nr,de,Or,Mo,Ag,ma,mc,cc,pc,Rc,Ug=U(()=>{rr();Se=fa.prototype=tc.prototype;Se.dl=10062778;Se.dr=14536702;Se.ml=0;Se.ul=70195;Se.ur=4544119;Se=pg.prototype=lc.prototype;Se.Search_c=null;Se.Search_length1=0;Se.Search_maxlen2=0;Se.Search_sol_string=null;Rg=!1;Se=Dg.prototype=fc.prototype;Se.bottom=0;Se.Shape_parity=0;Se.top=0;dg=!1;Se=Fg.prototype=Bc.prototype;Se.botEdgeFirst=!1;Se.cornperm=0;Se.edgeperm=0;Se.ml=0;Se.topEdgeFirst=!1;ma=!1,mc=function(e,t,r){ma||(ic(),gc()),r&&r(\"Done initializing Square-1.\"),ma=!0,e!=null&&e()},cc=async function(){return ma||mc(),ec()},pc=function(e){var t=new pg;return oc(t,e)},Rc=async function(){var e=await cc(),t=pc(e);return{state:e,scramble_string:t}}});var da=Symbol(\"Comlink.proxy\"),Tg=Symbol(\"Comlink.endpoint\"),Ig=Symbol(\"Comlink.releaseProxy\"),pi=Symbol(\"Comlink.thrown\"),Fa=e=>typeof e==\"object\"&&e!==null||typeof e==\"function\",Ng={canHandle:e=>Fa(e)&&e[da],serialize(e){let{port1:t,port2:r}=new MessageChannel;return In(e,t),[r,[r]]},deserialize(e){return e.start(),Wg(e)}},Og={canHandle:e=>Fa(e)&&pi in e,serialize({value:e}){let t;return e instanceof Error?t={isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:t={isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},Aa=new Map([[\"proxy\",Ng],[\"throw\",Og]]);function In(e,t=self){t.addEventListener(\"message\",function r(n){if(!n||!n.data)return;let{id:o,type:l,path:i}=Object.assign({path:[]},n.data),s=(n.data.argumentList||[]).map(Rr),u;try{let a=i.slice(0,-1).reduce((g,L)=>g[L],e),f=i.reduce((g,L)=>g[L],e);switch(l){case\"GET\":u=f;break;case\"SET\":a[i.slice(-1)[0]]=Rr(n.data.value),u=!0;break;case\"APPLY\":u=f.apply(a,s);break;case\"CONSTRUCT\":{let g=new f(...s);u=jg(g)}break;case\"ENDPOINT\":{let{port1:g,port2:L}=new MessageChannel;In(e,L),u=Qg(g,[g])}break;case\"RELEASE\":u=void 0;break;default:return}}catch(a){u={value:a,[pi]:0}}Promise.resolve(u).catch(a=>({value:a,[pi]:0})).then(a=>{let[f,g]=Di(a);t.postMessage(Object.assign(Object.assign({},f),{id:o}),g),l===\"RELEASE\"&&(t.removeEventListener(\"message\",r),ha(t))})}),t.start&&t.start()}function _g(e){return e.constructor.name===\"MessagePort\"}function ha(e){_g(e)&&e.close()}function Wg(e,t){return Ri(e,[],t)}function To(e){if(e)throw new Error(\"Proxy has been released and is not useable\")}function Ri(e,t=[],r=function(){}){let n=!1,o=new Proxy(r,{get(l,i){if(To(n),i===Ig)return()=>Wr(e,{type:\"RELEASE\",path:t.map(s=>s.toString())}).then(()=>{ha(e),n=!0});if(i===\"then\"){if(t.length===0)return{then:()=>o};let s=Wr(e,{type:\"GET\",path:t.map(u=>u.toString())}).then(Rr);return s.then.bind(s)}return Ri(e,[...t,i])},set(l,i,s){To(n);let[u,a]=Di(s);return Wr(e,{type:\"SET\",path:[...t,i].map(f=>f.toString()),value:u},a).then(Rr)},apply(l,i,s){To(n);let u=t[t.length-1];if(u===Tg)return Wr(e,{type:\"ENDPOINT\"}).then(Rr);if(u===\"bind\")return Ri(e,t.slice(0,-1));let[a,f]=ya(s);return Wr(e,{type:\"APPLY\",path:t.map(g=>g.toString()),argumentList:a},f).then(Rr)},construct(l,i){To(n);let[s,u]=ya(i);return Wr(e,{type:\"CONSTRUCT\",path:t.map(a=>a.toString()),argumentList:s},u).then(Rr)}});return o}function Kg(e){return Array.prototype.concat.apply([],e)}function ya(e){let t=e.map(Di);return[t.map(r=>r[0]),Kg(t.map(r=>r[1]))]}var Ua=new WeakMap;function Qg(e,t){return Ua.set(e,t),e}function jg(e){return Object.assign(e,{[da]:!0})}function Di(e){for(let[t,r]of Aa)if(r.canHandle(e)){let[n,o]=r.serialize(e);return[{type:\"HANDLER\",name:t,value:n},o]}return[{type:\"RAW\",value:e},Ua.get(e)||[]]}function Rr(e){switch(e.type){case\"HANDLER\":return Aa.get(e.name).deserialize(e.value);case\"RAW\":return e.value}}function Wr(e,t,r){return new Promise(n=>{let o=qg();e.addEventListener(\"message\",function l(i){!i.data||!i.data.id||i.data.id!==o||(e.removeEventListener(\"message\",l),n(i.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:o},t),r)})}function qg(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\"-\")}var Zg=typeof globalThis.Worker==\"undefined\"&&typeof globalThis.WorkerNavigator==\"undefined\";function va(e){Zg?(async()=>{let{port:t}=await Promise.resolve().then(()=>(wa(),xa));In(e,await t())})():In(e)}Ve();Ot();_t();Ve();Ot();rr();_t();Ae();Ae();var P2=class extends Yr{constructor(t){super();this.metric=t}traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){let r=t.alg;return this.traverseAlg(r)*Math.abs(t.amount)}traverseMove(t){return this.metric(t)}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 0}traverseNewline(t){return 0}traverseLineComment(t){return 0}};function V1(e){return\"A\"<=e&&e<=\"Z\"}function H1(e){let t=e.family;return V1(t[0])&&t[t.length-1]===\"v\"||t===\"x\"||t===\"y\"||t===\"z\"||t===\"T\"?0:1}var M2=new P2(H1),ts=M2.traverseAlg.bind(M2);Ae();var G2=class extends Yr{traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){return this.traverseAlg(t.alg)*Math.abs(t.amount)}traverseMove(t){return 1}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 1}traverseNewline(t){return 0}traverseLineComment(t){return 0}},T2=new G2,Y1=T2.traverseAlg.bind(T2);rr();var Z1=2,X1=!0,J1=!1;function $1(e,t){let r=[];return t.forEach(function(n){let o=new c(n);if(o.amount!==1)throw new Error(\"SGS cannot handle def moves with an amount other than 1 yet.\");let l=e.identityTransformation();for(let i=1;l=l.applyMove(o),!l.isIdentityTransformation();i++)r.push({move:o.modified({amount:i}),transformation:l})}),r}var Ft=class{constructor(t,r,n){this.kpuzzle=t;this.sgs=r;this.searchMoves=$1(this.kpuzzle,n??Object.keys(this.kpuzzle.definition.moves))}async solve(t,r=Z1,n){let o=t.experimentalToTransformation();if(!o)throw new Error(\"distinguishable pieces are not supported in tremble solver yt\");let l=null,i=1e6,s=(u,a,f)=>{if(a===0){let g=this.sgsPhaseSolve(u,i);if(!g)return;let L=f.concat(g).simplify({collapseMoves:!0,quantumMoveOrder:n}),B=ts(L);(l===null||B<i)&&(J1&&(console.log(`New best (${B} moves): ${L.toString()}`),console.log(`Tremble moves are: ${f.toString()}`)),l=L,i=B);return}for(let g of this.searchMoves)s(u.applyTransformation(g.transformation),a-1,f.concat([g.move]))};for(let u=0;u<=r;u++)s(o,u,new k);if(l===null)throw new Error(\"SGS search failed.\");return l}sgsPhaseSolve(t,r){let n=new ut,o=t;for(let l of this.sgs.ordering){let i=l.pieceOrdering,s=\"\",u=o.invert();for(let f=0;f<i.length;f++){let g=i[f],L=g.orbitName,B=g.permutationIdx;s+=` ${u.transformationData[L].permutation[B]} ${u.transformationData[L].orientation[B]}`}let a=l.lookup[s];if(!a)throw new Error(\"Missing algorithm in sgs or esgs?\");if(n.experimentalPushAlg(a.alg),n.experimentalNumUnits()>=r)return null;if(o=o.applyTransformation(a.transformation),X1)for(let f=0;f<i.length;f++){let g=i[f],L=g.orbitName,B=g.permutationIdx;if(o.transformationData[L].permutation[B]!==B||o.transformationData[L].orientation[B]!==0)throw new Error(\"bad SGS :-(\")}}return n.toAlg()}};async function an(e,t){let r=await Wt(),n=e.identityTransformation();for(let o of t.ordering){let l=r(Object.values(o.lookup));n=n.applyTransformation(l.transformation)}return n.toKState()}var rL=3,_2=null;async function W2(){return _2||(_2=(async()=>{let e=await(await Promise.resolve().then(()=>(O2(),N2))).cachedData222();return new Ft(await he[\"2x2x2\"].kpuzzle(),e,\"URFLBD\".split(\"\"))})())}async function K2(){await W2()}async function rs(e){return tt(),await(await W2()).solve(e,rL,()=>4)}async function nL(e,t,r,n){let o=await st();await C2(r.stateData[t].pieces);let l=e.definition.orbits[t],i=r.stateData[t].orientation,s=0;for(let u=0;u<l.numPieces;u++){let a=o(l.orientations);i[u]=a,s+=a}n&&\"orientationSum\"in n&&(i[0]=((i[0]+n.orientationSum-s)%l.orientations+l.orientations)%l.orientations)}async function oL(){let e=await he[\"2x2x2\"].kpuzzle(),t=new Be(e,JSON.parse(JSON.stringify(e.startState().stateData)));return await nL(e,\"CORNERS\",t,{orientationSum:0}),t}async function Q2(){return await rs(await oL())}xs();Dl();var dm=[[null,\"x\",\"x2\",\"x'\",\"z\",\"z'\"],[null,\"y\",\"y2\",\"y'\"]],Fm=null;function Yf(){return Fm??(Fm=Promise.resolve().then(()=>(Hf(),Vf)))}async function Zf(){return(await Yf()).initialize()}async function $s(){return(await Yf()).random444Scramble()}async function Xf(){return fn(await $s(),dm)}Dl();Ae();rr();function Am(e){switch(e){case 5:return 60;case 6:return 80;default:return 100}}var hm=[[\"U\",\"D\"],[\"L\",\"R\"],[\"F\",\"B\"]],Jf=new Map;function ym(e){let t=Jf.get(e);if(t)return t;let r=[];for(let n of hm){let o=[];r.push(o);for(let l of n){o.push(new G(l)),e>3&&o.push(new G(`${l}w`));for(let i=3;i<=e/2;i++)o.push(new G(`${l}w`,i))}}return Jf.set(e,r),r}async function Yt(e){let t=await st(),r=await Wt(),n=r,o=ym(e),l=Am(e),i=new ut,s=0,u=new Set;for(;i.experimentalNumUnits()<l;){let a=t(3);a!==s&&u.clear(),s=a;let f=r(o[s]),g=f.toString();u.has(g)||(u.add(g),i.push(new c(f,n([1,2,-1]))))}return i.toAlg()}var Um=[[null,\"3Rw\",\"3Rw2\",\"3Rw'\",\"3Fw\",\"3Fw'\"],[null,\"3Dw\",\"3Dw2\",\"3Dw'\"]];async function $f(){return fn(await Yt(5),Um)}Ot();_t();var wm=3,eg=null;async function vm(){return eg||(eg=(async()=>{let t=await(await Promise.resolve().then(()=>(ta(),ea))).sgsDataFTO();return new Ft(await he.fto.kpuzzle(),t,[\"U\",\"R\",\"F\",\"L\",\"D\",\"B\",\"BR\",\"BL\"])})())}async function Em(e){return tt(),await(await vm()).solve(e,wm,()=>3)}var tg=!1;async function rg(){tg||(console.warn(\"FTO scrambles are not yet optimized. They may be much too long (\\u224890 moves).\"),tg=!0);let e=await Promise.resolve().then(()=>(ta(),ea));return Em(await an(await he.fto.kpuzzle(),await e.sgsDataFTO()))}Ve();_t();ra();var Mm=2,lg=null;async function Gm(){return lg||(lg=(async()=>{let t=await(await Promise.resolve().then(()=>(ra(),og))).cachedSGSDataMegaminx();return new Ft(await vo(),t,[\"U\",\"R\",\"F\",\"L\",\"BR\",\"BL\",\"FR\",\"FL\",\"DR\",\"DL\",\"B\",\"D\"])})())}async function ig(e){tt();let t=await Gm(),r=JSON.parse(JSON.stringify(e.stateData));r.CENTERS.orientation=new Array(12).fill(0);let n=new Be(await vo(),r);return await t.solve(n,Mm,()=>5)}Ot();_t();oa();var Nm=3,ug=null;async function Om(){return ug||(ug=(async()=>{let t=await(await Promise.resolve().then(()=>(oa(),ag))).sgsDataPyraminx();return new Ft(await he.pyraminx.kpuzzle(),t,\"RLUB\".split(\"\"))})())}async function la(e){return tt(),await(await Om()).solve(e,Nm,()=>3)}async function _m(){return an(await he.pyraminx.kpuzzle(),await na())}async function fg(){return la(await _m())}Ve();_t();sa();var qm=3,Bg=null;async function Vm(){return Bg||(Bg=(async()=>{let e=await Promise.resolve().then(()=>(sa(),Lg)),t=await e.sgsDataSkewb();return new Ft(await e.skewbKPuzzleWithoutMOCached(),t,\"RLUB\".split(\"\"))})())}function Hm(e){return new Be(e.kpuzzle,{CORNERS:e.stateData.CORNERS,CENTERS:{pieces:e.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}})}async function aa(e){return tt(),await(await Vm()).solve(Hm(e),qm,n=>n.family===\"y\"?4:3)}async function Ym(){return an(await fi(),await ia())}async function mg(){return aa(await Ym())}Ae();var dc=null;function Fc(){return dc??(dc=Promise.resolve().then(()=>(Ug(),yg)))}async function bg(){return k.fromString(await(await Fc()).getRandomSquare1ScrambleString())}w2(!0);var Sg=!0;function Ac(e){Sg=e}function xg(){return(typeof performance==\"undefined\"?Date:performance).now()}async function _e(e,t){if(!Sg)return t();let r=xg(),n=t();n?.then&&await n;let o=xg();return console.warn(`${e}: ${Math.round(o-r)}ms`),n}var ca={initialize:async e=>{switch(e){case\"222\":return _e(\"preInitialize222\",K2);case\"333\":case\"333oh\":case\"333ft\":return _e(\"initialize333\",Pu);case\"444\":return _e(\"initialize444\",Zf);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleForEvent:async e=>{switch(e){case\"222\":return _e(\"random222Scramble\",Q2);case\"333\":case\"333oh\":case\"333ft\":return _e(\"random333Scramble\",hn);case\"333fm\":return _e(\"random333FewestMovesScramble\",Tu);case\"333bf\":case\"333mb\":return _e(\"random333OrientedScramble\",Mu);case\"444\":return _e(\"random444Scramble\",$s);case\"444bf\":return _e(\"random444OrientedScramble\",Xf);case\"555\":return _e(\"bigCubeScramble(5)\",Yt.bind(Yt,5));case\"555bf\":return _e(\"oriented555RandomMoves\",$f);case\"666\":return _e(\"bigCubeScramble(6)\",Yt.bind(Yt,6));case\"777\":return _e(\"bigCubeScramble(7)\",Yt.bind(Yt,7));case\"skewb\":return _e(\"randomSkewbFixedCornerScramble\",mg);case\"pyram\":return _e(\"randomPyraminxScrambleFixedOrientation\",fg);case\"sq1\":return _e(\"getRandomSquare1Scramble\",bg);case\"fto\":return _e(\"randomFTOScramble\",rg);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleStringForEvent:async e=>(await ca.randomScrambleForEvent(e)).toString(),solve333ToString:async e=>{let t=new Be(await he[\"3x3x3\"].kpuzzle(),e);return(await Ss(t)).toString()},solve222ToString:async e=>{let t=new Be(await he[\"2x2x2\"].kpuzzle(),e);return(await rs(t)).toString()},solveSkewbToString:async e=>{let t=new Be(await he.skewb.kpuzzle(),e);return(await aa(t)).toString()},solvePyraminxToString:async e=>{let t=new Be(await he.pyraminx.kpuzzle(),e);return(await la(t)).toString()},solveMegaminxToString:async e=>{let t=new Be(await he.megaminx.kpuzzle(),e);return(await ig(t)).toString()},setDebugMeasurePerf:async e=>{Ac(e)}};va(ca);\n";
|