aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2024-04-13 09:24:47 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2024-04-13 09:24:47 +0200
commitae055f1fc993d406939f57f11553d218e1efde82 (patch)
tree4a9e03d6eb9afc38cfd7e1735f7b70f17bdcf0d3 /utils
parent72e018b066bd5cc3ce0181b43865a227e8b9b6ec (diff)
downloadcubecore-ae055f1fc993d406939f57f11553d218e1efde82.tar.gz
cubecore-ae055f1fc993d406939f57f11553d218e1efde82.zip
Simplified moves and trans
Diffstat (limited to 'utils')
-rwxr-xr-xutils/genmovecode.sh19
-rwxr-xr-xutils/gentranscode.sh37
-rw-r--r--utils/h48_to_lst.c19
-rw-r--r--utils/invert.c19
-rwxr-xr-xutils/mirror.sh3
-rw-r--r--utils/move_00_U.txt1
-rw-r--r--utils/move_01_U2.txt1
-rw-r--r--utils/move_02_U3.txt1
-rw-r--r--utils/move_03_D.txt1
-rw-r--r--utils/move_04_D2.txt1
-rw-r--r--utils/move_05_D3.txt1
-rw-r--r--utils/move_06_R.txt1
-rw-r--r--utils/move_07_R2.txt1
-rw-r--r--utils/move_08_R3.txt1
-rw-r--r--utils/move_09_L.txt1
-rw-r--r--utils/move_10_L2.txt1
-rw-r--r--utils/move_11_L3.txt1
-rw-r--r--utils/move_12_F.txt1
-rw-r--r--utils/move_13_F2.txt1
-rw-r--r--utils/move_14_F3.txt1
-rw-r--r--utils/move_15_B.txt1
-rw-r--r--utils/move_16_B2.txt1
-rw-r--r--utils/move_17_B3.txt1
-rw-r--r--utils/move_table.txt72
-rw-r--r--utils/solved.txt1
-rw-r--r--utils/trans_table.txt480
-rw-r--r--utils/transform_00_UFr.txt1
-rw-r--r--utils/transform_01_ULr.txt1
-rw-r--r--utils/transform_02_UBr.txt1
-rw-r--r--utils/transform_03_URr.txt1
-rw-r--r--utils/transform_04_DFr.txt1
-rw-r--r--utils/transform_05_DLr.txt1
-rw-r--r--utils/transform_06_DBr.txt1
-rw-r--r--utils/transform_07_DRr.txt1
-rw-r--r--utils/transform_08_RUr.txt1
-rw-r--r--utils/transform_09_RFr.txt1
-rw-r--r--utils/transform_10_RDr.txt1
-rw-r--r--utils/transform_11_RBr.txt1
-rw-r--r--utils/transform_12_LUr.txt1
-rw-r--r--utils/transform_13_LFr.txt1
-rw-r--r--utils/transform_14_LDr.txt1
-rw-r--r--utils/transform_15_LBr.txt1
-rw-r--r--utils/transform_16_FUr.txt1
-rw-r--r--utils/transform_17_FRr.txt1
-rw-r--r--utils/transform_18_FDr.txt1
-rw-r--r--utils/transform_19_FLr.txt1
-rw-r--r--utils/transform_20_BUr.txt1
-rw-r--r--utils/transform_21_BRr.txt1
-rw-r--r--utils/transform_22_BDr.txt1
-rw-r--r--utils/transform_23_BLr.txt1
-rw-r--r--utils/transform_24_UFm.txt1
-rw-r--r--utils/transform_25_ULm.txt1
-rw-r--r--utils/transform_26_UBm.txt1
-rw-r--r--utils/transform_27_URm.txt1
-rw-r--r--utils/transform_28_DFm.txt1
-rw-r--r--utils/transform_29_DLm.txt1
-rw-r--r--utils/transform_30_DBm.txt1
-rw-r--r--utils/transform_31_DRm.txt1
-rw-r--r--utils/transform_32_RUm.txt1
-rw-r--r--utils/transform_33_RFm.txt1
-rw-r--r--utils/transform_34_RDm.txt1
-rw-r--r--utils/transform_35_RBm.txt1
-rw-r--r--utils/transform_36_LUm.txt1
-rw-r--r--utils/transform_37_LFm.txt1
-rw-r--r--utils/transform_38_LDm.txt1
-rw-r--r--utils/transform_39_LBm.txt1
-rw-r--r--utils/transform_40_FUm.txt1
-rw-r--r--utils/transform_41_FRm.txt1
-rw-r--r--utils/transform_42_FDm.txt1
-rw-r--r--utils/transform_43_FLm.txt1
-rw-r--r--utils/transform_44_BUm.txt1
-rw-r--r--utils/transform_45_BRm.txt1
-rw-r--r--utils/transform_46_BDm.txt1
-rw-r--r--utils/transform_47_BLm.txt1
-rw-r--r--utils/transform_moves.txt95
75 files changed, 811 insertions, 0 deletions
diff --git a/utils/genmovecode.sh b/utils/genmovecode.sh
new file mode 100755
index 0000000..25ad039
--- /dev/null
+++ b/utils/genmovecode.sh
@@ -0,0 +1,19 @@
1#!/bin/sh
2
3gcc -DDEBUG h48_to_lst.c ../cube.c -o h48_to_lst
4
5gen() {
6 for f in move_??_*.txt; do
7 move="$(echo $f | sed 's/.*_// ; s/\.txt//')"
8 lst="$(./h48_to_lst <$f)"
9 c="$(echo $lst | cut -d ' ' -f -8 | rev | cut -c 2- | rev)"
10 e="$(echo $lst | cut -d ' ' -f 9-)"
11 printf '[%s] = {\n' "$move"
12 printf '\t.corner = {%s},\n' "$c"
13 printf '\t.edge = {%s}\n' "$e"
14 printf '},\n'
15 done
16}
17
18gen
19rm -f h48_to_lst invert
diff --git a/utils/gentranscode.sh b/utils/gentranscode.sh
new file mode 100755
index 0000000..4fe7df8
--- /dev/null
+++ b/utils/gentranscode.sh
@@ -0,0 +1,37 @@
1#!/bin/sh
2
3gcc -DDEBUG h48_to_lst.c ../cube.c -o h48_to_lst
4gcc -DDEBUG invert.c ../cube.c -o invert
5
6lineavx() { printf '#define _trans_cube_%s ' "$1"; }
7linesrc() { printf '_static cube_fast_t _trans_cube_%s = ' "$1"; }
8sedavx() { sed '1,2s/$/ \\/ ; 3s/$/)/ ; 3q'; }
9sedsrc() { sed '3s/$/ };/ ; 3q'; }
10
11gen() {
12 for f in transform_??_???.txt; do
13 trans="$(echo $f | sed 's/.*_// ; s/\.txt//')"
14 printf '[%s] = {\n' "$trans"
15
16 printf '\t[NORMAL] = {\n'
17 lst="$(./h48_to_lst <"$f")"
18 c="$(echo $lst | cut -d ' ' -f -8 | rev | cut -c 2- | rev)"
19 e="$(echo $lst | cut -d ' ' -f 9-)"
20 printf '\t\t.corner = {%s},\n' "$c"
21 printf '\t\t.edge = {%s}\n' "$e"
22 printf '\t},\n'
23
24 printf '\t[INVERSE] = {\n'
25 inv="$(./invert <"$f" | ./h48_to_lst)"
26 c="$(echo $inv | cut -d ' ' -f -8 | rev | cut -c 2- | rev)"
27 e="$(echo $inv | cut -d ' ' -f 9-)"
28 printf '\t\t.corner = {%s},\n' "$c"
29 printf '\t\t.edge = {%s}\n' "$e"
30 printf '\t}\n'
31
32 printf '},\n'
33 done
34}
35
36gen
37rm -f h48_to_lst invert
diff --git a/utils/h48_to_lst.c b/utils/h48_to_lst.c
new file mode 100644
index 0000000..21615d5
--- /dev/null
+++ b/utils/h48_to_lst.c
@@ -0,0 +1,19 @@
1#include <stdio.h>
2#include <inttypes.h>
3#include <stdbool.h>
4
5#include "../cube.h"
6
7#define STRLENMAX 1000
8
9int main(void) {
10 char str[STRLENMAX];
11 cube_t cube;
12
13 fgets(str, STRLENMAX, stdin);
14 cube = readcube("H48", str);
15 writecube("LST", cube, str);
16 fputs(str, stdout);
17
18 return 0;
19}
diff --git a/utils/invert.c b/utils/invert.c
new file mode 100644
index 0000000..ff01bee
--- /dev/null
+++ b/utils/invert.c
@@ -0,0 +1,19 @@
1#include <stdio.h>
2#include <inttypes.h>
3#include <stdbool.h>
4
5#include "../cube.h"
6
7#define STRLENMAX 1000
8
9int main(void) {
10 char str[STRLENMAX];
11 cube_t cube;
12
13 fgets(str, STRLENMAX, stdin);
14 cube = readcube("H48", str);
15 writecube("H48", inverse(cube), str);
16 fputs(str, stdout);
17
18 return 0;
19}
diff --git a/utils/mirror.sh b/utils/mirror.sh
new file mode 100755
index 0000000..41a434f
--- /dev/null
+++ b/utils/mirror.sh
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3tr 'LR' 'RL'
diff --git a/utils/move_00_U.txt b/utils/move_00_U.txt
new file mode 100644
index 0000000..b5b36ad
--- /dev/null
+++ b/utils/move_00_U.txt
@@ -0,0 +1 @@
UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0
diff --git a/utils/move_01_U2.txt b/utils/move_01_U2.txt
new file mode 100644
index 0000000..316ad57
--- /dev/null
+++ b/utils/move_01_U2.txt
@@ -0,0 +1 @@
UB0 UF0 DB0 DF0 UL0 UR0 DL0 DR0 FR0 FL0 BL0 BR0 UBL0 UFR0 DFL0 DBR0 UBR0 UFL0 DFR0 DBL0
diff --git a/utils/move_02_U3.txt b/utils/move_02_U3.txt
new file mode 100644
index 0000000..7721ab5
--- /dev/null
+++ b/utils/move_02_U3.txt
@@ -0,0 +1 @@
UL0 UR0 DB0 DF0 UF0 UB0 DL0 DR0 FR0 FL0 BL0 BR0 UFL0 UBR0 DFL0 DBR0 UBL0 UFR0 DFR0 DBL0
diff --git a/utils/move_03_D.txt b/utils/move_03_D.txt
new file mode 100644
index 0000000..cf4f816
--- /dev/null
+++ b/utils/move_03_D.txt
@@ -0,0 +1 @@
UF0 UB0 DR0 DL0 UR0 UL0 DB0 DF0 FR0 FL0 BL0 BR0 UFR0 UBL0 DBL0 DFR0 UFL0 UBR0 DFL0 DBR0
diff --git a/utils/move_04_D2.txt b/utils/move_04_D2.txt
new file mode 100644
index 0000000..13b229e
--- /dev/null
+++ b/utils/move_04_D2.txt
@@ -0,0 +1 @@
UF0 UB0 DF0 DB0 UR0 UL0 DR0 DL0 FR0 FL0 BL0 BR0 UFR0 UBL0 DBR0 DFL0 UFL0 UBR0 DBL0 DFR0
diff --git a/utils/move_05_D3.txt b/utils/move_05_D3.txt
new file mode 100644
index 0000000..2864f5b
--- /dev/null
+++ b/utils/move_05_D3.txt
@@ -0,0 +1 @@
UF0 UB0 DL0 DR0 UR0 UL0 DF0 DB0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFR0 DBL0 UFL0 UBR0 DBR0 DFL0
diff --git a/utils/move_06_R.txt b/utils/move_06_R.txt
new file mode 100644
index 0000000..8c8fcb3
--- /dev/null
+++ b/utils/move_06_R.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 FR0 UL0 DL0 BR0 DR0 FL0 BL0 UR0 DFR2 UBL0 DFL0 UBR2 UFL0 UFR1 DBR1 DBL0
diff --git a/utils/move_07_R2.txt b/utils/move_07_R2.txt
new file mode 100644
index 0000000..90765e2
--- /dev/null
+++ b/utils/move_07_R2.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 DR0 UL0 DL0 UR0 BR0 FL0 BL0 FR0 DBR0 UBL0 DFL0 UFR0 UFL0 DFR0 UBR0 DBL0
diff --git a/utils/move_08_R3.txt b/utils/move_08_R3.txt
new file mode 100644
index 0000000..d4abffc
--- /dev/null
+++ b/utils/move_08_R3.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 BR0 UL0 DL0 FR0 UR0 FL0 BL0 DR0 UBR2 UBL0 DFL0 DFR2 UFL0 DBR1 UFR1 DBL0
diff --git a/utils/move_09_L.txt b/utils/move_09_L.txt
new file mode 100644
index 0000000..0b0565c
--- /dev/null
+++ b/utils/move_09_L.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 UR0 BL0 FL0 DR0 FR0 UL0 DL0 BR0 UFR0 DBL2 UFL2 DBR0 UBL1 UBR0 DFR0 DFL1
diff --git a/utils/move_10_L2.txt b/utils/move_10_L2.txt
new file mode 100644
index 0000000..2498c87
--- /dev/null
+++ b/utils/move_10_L2.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 UR0 DL0 UL0 DR0 FR0 BL0 FL0 BR0 UFR0 DFL0 UBL0 DBR0 DBL0 UBR0 DFR0 UFL0
diff --git a/utils/move_11_L3.txt b/utils/move_11_L3.txt
new file mode 100644
index 0000000..2ac2912
--- /dev/null
+++ b/utils/move_11_L3.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 UR0 FL0 BL0 DR0 FR0 DL0 UL0 BR0 UFR0 UFL2 DBL2 DBR0 DFL1 UBR0 DFR0 UBL1
diff --git a/utils/move_12_F.txt b/utils/move_12_F.txt
new file mode 100644
index 0000000..e805af8
--- /dev/null
+++ b/utils/move_12_F.txt
@@ -0,0 +1 @@
FL1 UB0 DB0 FR1 UR0 UL0 DL0 DR0 UF1 DF1 BL0 BR0 UFL1 UBL0 DFR1 DBR0 DFL2 UBR0 UFR2 DBL0
diff --git a/utils/move_13_F2.txt b/utils/move_13_F2.txt
new file mode 100644
index 0000000..8aa701f
--- /dev/null
+++ b/utils/move_13_F2.txt
@@ -0,0 +1 @@
DF0 UB0 DB0 UF0 UR0 UL0 DL0 DR0 FL0 FR0 BL0 BR0 DFL0 UBL0 UFR0 DBR0 DFR0 UBR0 UFL0 DBL0
diff --git a/utils/move_14_F3.txt b/utils/move_14_F3.txt
new file mode 100644
index 0000000..40f1260
--- /dev/null
+++ b/utils/move_14_F3.txt
@@ -0,0 +1 @@
FR1 UB0 DB0 FL1 UR0 UL0 DL0 DR0 DF1 UF1 BL0 BR0 DFR1 UBL0 UFL1 DBR0 UFR2 UBR0 DFL2 DBL0
diff --git a/utils/move_15_B.txt b/utils/move_15_B.txt
new file mode 100644
index 0000000..f7fb13c
--- /dev/null
+++ b/utils/move_15_B.txt
@@ -0,0 +1 @@
UF0 BR1 BL1 DF0 UR0 UL0 DL0 DR0 FR0 FL0 UB1 DB1 UFR0 UBR1 DFL0 DBL1 UFL0 DBR2 DFR0 UBL2
diff --git a/utils/move_16_B2.txt b/utils/move_16_B2.txt
new file mode 100644
index 0000000..9b33e35
--- /dev/null
+++ b/utils/move_16_B2.txt
@@ -0,0 +1 @@
UF0 DB0 UB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BR0 BL0 UFR0 DBR0 DFL0 UBL0 UFL0 DBL0 DFR0 UBR0
diff --git a/utils/move_17_B3.txt b/utils/move_17_B3.txt
new file mode 100644
index 0000000..1367517
--- /dev/null
+++ b/utils/move_17_B3.txt
@@ -0,0 +1 @@
UF0 BL1 BR1 DF0 UR0 UL0 DL0 DR0 FR0 FL0 DB1 UB1 UFR0 DBL1 DFL0 UBR1 UFL0 UBL2 DFR0 DBR2
diff --git a/utils/move_table.txt b/utils/move_table.txt
new file mode 100644
index 0000000..67a146d
--- /dev/null
+++ b/utils/move_table.txt
@@ -0,0 +1,72 @@
1[U] = {
2 .corner = {5, 4, 2, 3, 0, 1, 6, 7},
3 .edge = {4, 5, 2, 3, 1, 0, 6, 7, 8, 9, 10, 11}
4},
5[U2] = {
6 .corner = {1, 0, 2, 3, 5, 4, 6, 7},
7 .edge = {1, 0, 2, 3, 5, 4, 6, 7, 8, 9, 10, 11}
8},
9[U3] = {
10 .corner = {4, 5, 2, 3, 1, 0, 6, 7},
11 .edge = {5, 4, 2, 3, 0, 1, 6, 7, 8, 9, 10, 11}
12},
13[D] = {
14 .corner = {0, 1, 7, 6, 4, 5, 2, 3},
15 .edge = {0, 1, 7, 6, 4, 5, 2, 3, 8, 9, 10, 11}
16},
17[D2] = {
18 .corner = {0, 1, 3, 2, 4, 5, 7, 6},
19 .edge = {0, 1, 3, 2, 4, 5, 7, 6, 8, 9, 10, 11}
20},
21[D3] = {
22 .corner = {0, 1, 6, 7, 4, 5, 3, 2},
23 .edge = {0, 1, 6, 7, 4, 5, 3, 2, 8, 9, 10, 11}
24},
25[R] = {
26 .corner = {70, 1, 2, 69, 4, 32, 35, 7},
27 .edge = {0, 1, 2, 3, 8, 5, 6, 11, 7, 9, 10, 4}
28},
29[R2] = {
30 .corner = {3, 1, 2, 0, 4, 6, 5, 7},
31 .edge = {0, 1, 2, 3, 7, 5, 6, 4, 11, 9, 10, 8}
32},
33[R3] = {
34 .corner = {69, 1, 2, 70, 4, 35, 32, 7},
35 .edge = {0, 1, 2, 3, 11, 5, 6, 8, 4, 9, 10, 7}
36},
37[L] = {
38 .corner = {0, 71, 68, 3, 33, 5, 6, 34},
39 .edge = {0, 1, 2, 3, 4, 10, 9, 7, 8, 5, 6, 11}
40},
41[L2] = {
42 .corner = {0, 2, 1, 3, 7, 5, 6, 4},
43 .edge = {0, 1, 2, 3, 4, 6, 5, 7, 8, 10, 9, 11}
44},
45[L3] = {
46 .corner = {0, 68, 71, 3, 34, 5, 6, 33},
47 .edge = {0, 1, 2, 3, 4, 9, 10, 7, 8, 6, 5, 11}
48},
49[F] = {
50 .corner = {36, 1, 38, 3, 66, 5, 64, 7},
51 .edge = {25, 1, 2, 24, 4, 5, 6, 7, 16, 19, 10, 11}
52},
53[F2] = {
54 .corner = {2, 1, 0, 3, 6, 5, 4, 7},
55 .edge = {3, 1, 2, 0, 4, 5, 6, 7, 9, 8, 10, 11}
56},
57[F3] = {
58 .corner = {38, 1, 36, 3, 64, 5, 66, 7},
59 .edge = {24, 1, 2, 25, 4, 5, 6, 7, 19, 16, 10, 11}
60},
61[B] = {
62 .corner = {0, 37, 2, 39, 4, 67, 6, 65},
63 .edge = {0, 27, 26, 3, 4, 5, 6, 7, 8, 9, 17, 18}
64},
65[B2] = {
66 .corner = {0, 3, 2, 1, 4, 7, 6, 5},
67 .edge = {0, 2, 1, 3, 4, 5, 6, 7, 8, 9, 11, 10}
68},
69[B3] = {
70 .corner = {0, 39, 2, 37, 4, 65, 6, 67},
71 .edge = {0, 26, 27, 3, 4, 5, 6, 7, 8, 9, 18, 17}
72},
diff --git a/utils/solved.txt b/utils/solved.txt
new file mode 100644
index 0000000..dff224d
--- /dev/null
+++ b/utils/solved.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0
diff --git a/utils/trans_table.txt b/utils/trans_table.txt
new file mode 100644
index 0000000..cdd9fe9
--- /dev/null
+++ b/utils/trans_table.txt
@@ -0,0 +1,480 @@
1[UFr] = {
2 [NORMAL] = {
3 .corner = {0, 1, 2, 3, 4, 5, 6, 7},
4 .edge = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
5 },
6 [INVERSE] = {
7 .corner = {0, 1, 2, 3, 4, 5, 6, 7},
8 .edge = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
9 }
10},
11[ULr] = {
12 [NORMAL] = {
13 .corner = {4, 5, 7, 6, 1, 0, 2, 3},
14 .edge = {5, 4, 7, 6, 0, 1, 2, 3, 25, 26, 27, 24}
15 },
16 [INVERSE] = {
17 .corner = {5, 4, 6, 7, 0, 1, 3, 2},
18 .edge = {4, 5, 6, 7, 1, 0, 3, 2, 27, 24, 25, 26}
19 }
20},
21[UBr] = {
22 [NORMAL] = {
23 .corner = {1, 0, 3, 2, 5, 4, 7, 6},
24 .edge = {1, 0, 3, 2, 5, 4, 7, 6, 10, 11, 8, 9}
25 },
26 [INVERSE] = {
27 .corner = {1, 0, 3, 2, 5, 4, 7, 6},
28 .edge = {1, 0, 3, 2, 5, 4, 7, 6, 10, 11, 8, 9}
29 }
30},
31[URr] = {
32 [NORMAL] = {
33 .corner = {5, 4, 6, 7, 0, 1, 3, 2},
34 .edge = {4, 5, 6, 7, 1, 0, 3, 2, 27, 24, 25, 26}
35 },
36 [INVERSE] = {
37 .corner = {4, 5, 7, 6, 1, 0, 2, 3},
38 .edge = {5, 4, 7, 6, 0, 1, 2, 3, 25, 26, 27, 24}
39 }
40},
41[DFr] = {
42 [NORMAL] = {
43 .corner = {2, 3, 0, 1, 6, 7, 4, 5},
44 .edge = {3, 2, 1, 0, 6, 7, 4, 5, 9, 8, 11, 10}
45 },
46 [INVERSE] = {
47 .corner = {2, 3, 0, 1, 6, 7, 4, 5},
48 .edge = {3, 2, 1, 0, 6, 7, 4, 5, 9, 8, 11, 10}
49 }
50},
51[DLr] = {
52 [NORMAL] = {
53 .corner = {7, 6, 4, 5, 2, 3, 1, 0},
54 .edge = {6, 7, 4, 5, 2, 3, 0, 1, 26, 25, 24, 27}
55 },
56 [INVERSE] = {
57 .corner = {7, 6, 4, 5, 2, 3, 1, 0},
58 .edge = {6, 7, 4, 5, 2, 3, 0, 1, 26, 25, 24, 27}
59 }
60},
61[DBr] = {
62 [NORMAL] = {
63 .corner = {3, 2, 1, 0, 7, 6, 5, 4},
64 .edge = {2, 3, 0, 1, 7, 6, 5, 4, 11, 10, 9, 8}
65 },
66 [INVERSE] = {
67 .corner = {3, 2, 1, 0, 7, 6, 5, 4},
68 .edge = {2, 3, 0, 1, 7, 6, 5, 4, 11, 10, 9, 8}
69 }
70},
71[DRr] = {
72 [NORMAL] = {
73 .corner = {6, 7, 5, 4, 3, 2, 0, 1},
74 .edge = {7, 6, 5, 4, 3, 2, 1, 0, 24, 27, 26, 25}
75 },
76 [INVERSE] = {
77 .corner = {6, 7, 5, 4, 3, 2, 0, 1},
78 .edge = {7, 6, 5, 4, 3, 2, 1, 0, 24, 27, 26, 25}
79 }
80},
81[RUr] = {
82 [NORMAL] = {
83 .corner = {64, 67, 65, 66, 37, 38, 36, 39},
84 .edge = {20, 23, 22, 21, 24, 27, 26, 25, 0, 1, 2, 3}
85 },
86 [INVERSE] = {
87 .corner = {32, 34, 35, 33, 70, 68, 69, 71},
88 .edge = {8, 9, 10, 11, 16, 19, 18, 17, 20, 23, 22, 21}
89 }
90},
91[RFr] = {
92 [NORMAL] = {
93 .corner = {38, 37, 36, 39, 64, 67, 66, 65},
94 .edge = {24, 27, 26, 25, 23, 20, 21, 22, 19, 16, 17, 18}
95 },
96 [INVERSE] = {
97 .corner = {36, 39, 38, 37, 66, 65, 64, 67},
98 .edge = {25, 26, 27, 24, 21, 22, 23, 20, 16, 19, 18, 17}
99 }
100},
101[RDr] = {
102 [NORMAL] = {
103 .corner = {67, 64, 66, 65, 38, 37, 39, 36},
104 .edge = {23, 20, 21, 22, 27, 24, 25, 26, 2, 3, 0, 1}
105 },
106 [INVERSE] = {
107 .corner = {33, 35, 34, 32, 71, 69, 68, 70},
108 .edge = {10, 11, 8, 9, 17, 18, 19, 16, 21, 22, 23, 20}
109 }
110},
111[RBr] = {
112 [NORMAL] = {
113 .corner = {37, 38, 39, 36, 67, 64, 65, 66},
114 .edge = {27, 24, 25, 26, 20, 23, 22, 21, 17, 18, 19, 16}
115 },
116 [INVERSE] = {
117 .corner = {37, 38, 39, 36, 67, 64, 65, 66},
118 .edge = {27, 24, 25, 26, 20, 23, 22, 21, 17, 18, 19, 16}
119 }
120},
121[LUr] = {
122 [NORMAL] = {
123 .corner = {65, 66, 64, 67, 36, 39, 37, 38},
124 .edge = {21, 22, 23, 20, 26, 25, 24, 27, 1, 0, 3, 2}
125 },
126 [INVERSE] = {
127 .corner = {34, 32, 33, 35, 68, 70, 71, 69},
128 .edge = {9, 8, 11, 10, 19, 16, 17, 18, 22, 21, 20, 23}
129 }
130},
131[LFr] = {
132 [NORMAL] = {
133 .corner = {36, 39, 38, 37, 66, 65, 64, 67},
134 .edge = {25, 26, 27, 24, 21, 22, 23, 20, 16, 19, 18, 17}
135 },
136 [INVERSE] = {
137 .corner = {38, 37, 36, 39, 64, 67, 66, 65},
138 .edge = {24, 27, 26, 25, 23, 20, 21, 22, 19, 16, 17, 18}
139 }
140},
141[LDr] = {
142 [NORMAL] = {
143 .corner = {66, 65, 67, 64, 39, 36, 38, 37},
144 .edge = {22, 21, 20, 23, 25, 26, 27, 24, 3, 2, 1, 0}
145 },
146 [INVERSE] = {
147 .corner = {35, 33, 32, 34, 69, 71, 70, 68},
148 .edge = {11, 10, 9, 8, 18, 17, 16, 19, 23, 20, 21, 22}
149 }
150},
151[LBr] = {
152 [NORMAL] = {
153 .corner = {39, 36, 37, 38, 65, 66, 67, 64},
154 .edge = {26, 25, 24, 27, 22, 21, 20, 23, 18, 17, 16, 19}
155 },
156 [INVERSE] = {
157 .corner = {39, 36, 37, 38, 65, 66, 67, 64},
158 .edge = {26, 25, 24, 27, 22, 21, 20, 23, 18, 17, 16, 19}
159 }
160},
161[FUr] = {
162 [NORMAL] = {
163 .corner = {68, 70, 69, 71, 32, 34, 33, 35},
164 .edge = {16, 19, 18, 17, 9, 8, 11, 10, 5, 4, 7, 6}
165 },
166 [INVERSE] = {
167 .corner = {68, 70, 69, 71, 32, 34, 33, 35},
168 .edge = {16, 19, 18, 17, 9, 8, 11, 10, 5, 4, 7, 6}
169 }
170},
171[FRr] = {
172 [NORMAL] = {
173 .corner = {32, 34, 35, 33, 70, 68, 69, 71},
174 .edge = {8, 9, 10, 11, 16, 19, 18, 17, 20, 23, 22, 21}
175 },
176 [INVERSE] = {
177 .corner = {64, 67, 65, 66, 37, 38, 36, 39},
178 .edge = {20, 23, 22, 21, 24, 27, 26, 25, 0, 1, 2, 3}
179 }
180},
181[FDr] = {
182 [NORMAL] = {
183 .corner = {70, 68, 71, 69, 34, 32, 35, 33},
184 .edge = {19, 16, 17, 18, 8, 9, 10, 11, 7, 6, 5, 4}
185 },
186 [INVERSE] = {
187 .corner = {69, 71, 68, 70, 33, 35, 32, 34},
188 .edge = {17, 18, 19, 16, 11, 10, 9, 8, 4, 5, 6, 7}
189 }
190},
191[FLr] = {
192 [NORMAL] = {
193 .corner = {34, 32, 33, 35, 68, 70, 71, 69},
194 .edge = {9, 8, 11, 10, 19, 16, 17, 18, 22, 21, 20, 23}
195 },
196 [INVERSE] = {
197 .corner = {65, 66, 64, 67, 36, 39, 37, 38},
198 .edge = {21, 22, 23, 20, 26, 25, 24, 27, 1, 0, 3, 2}
199 }
200},
201[BUr] = {
202 [NORMAL] = {
203 .corner = {69, 71, 68, 70, 33, 35, 32, 34},
204 .edge = {17, 18, 19, 16, 11, 10, 9, 8, 4, 5, 6, 7}
205 },
206 [INVERSE] = {
207 .corner = {70, 68, 71, 69, 34, 32, 35, 33},
208 .edge = {19, 16, 17, 18, 8, 9, 10, 11, 7, 6, 5, 4}
209 }
210},
211[BRr] = {
212 [NORMAL] = {
213 .corner = {35, 33, 32, 34, 69, 71, 70, 68},
214 .edge = {11, 10, 9, 8, 18, 17, 16, 19, 23, 20, 21, 22}
215 },
216 [INVERSE] = {
217 .corner = {66, 65, 67, 64, 39, 36, 38, 37},
218 .edge = {22, 21, 20, 23, 25, 26, 27, 24, 3, 2, 1, 0}
219 }
220},
221[BDr] = {
222 [NORMAL] = {
223 .corner = {71, 69, 70, 68, 35, 33, 34, 32},
224 .edge = {18, 17, 16, 19, 10, 11, 8, 9, 6, 7, 4, 5}
225 },
226 [INVERSE] = {
227 .corner = {71, 69, 70, 68, 35, 33, 34, 32},
228 .edge = {18, 17, 16, 19, 10, 11, 8, 9, 6, 7, 4, 5}
229 }
230},
231[BLr] = {
232 [NORMAL] = {
233 .corner = {33, 35, 34, 32, 71, 69, 68, 70},
234 .edge = {10, 11, 8, 9, 17, 18, 19, 16, 21, 22, 23, 20}
235 },
236 [INVERSE] = {
237 .corner = {67, 64, 66, 65, 38, 37, 39, 36},
238 .edge = {23, 20, 21, 22, 27, 24, 25, 26, 2, 3, 0, 1}
239 }
240},
241[UFm] = {
242 [NORMAL] = {
243 .corner = {4, 5, 6, 7, 0, 1, 2, 3},
244 .edge = {0, 1, 2, 3, 5, 4, 7, 6, 9, 8, 11, 10}
245 },
246 [INVERSE] = {
247 .corner = {4, 5, 6, 7, 0, 1, 2, 3},
248 .edge = {0, 1, 2, 3, 5, 4, 7, 6, 9, 8, 11, 10}
249 }
250},
251[ULm] = {
252 [NORMAL] = {
253 .corner = {0, 1, 3, 2, 5, 4, 6, 7},
254 .edge = {4, 5, 6, 7, 0, 1, 2, 3, 24, 27, 26, 25}
255 },
256 [INVERSE] = {
257 .corner = {0, 1, 3, 2, 5, 4, 6, 7},
258 .edge = {4, 5, 6, 7, 0, 1, 2, 3, 24, 27, 26, 25}
259 }
260},
261[UBm] = {
262 [NORMAL] = {
263 .corner = {5, 4, 7, 6, 1, 0, 3, 2},
264 .edge = {1, 0, 3, 2, 4, 5, 6, 7, 11, 10, 9, 8}
265 },
266 [INVERSE] = {
267 .corner = {5, 4, 7, 6, 1, 0, 3, 2},
268 .edge = {1, 0, 3, 2, 4, 5, 6, 7, 11, 10, 9, 8}
269 }
270},
271[URm] = {
272 [NORMAL] = {
273 .corner = {1, 0, 2, 3, 4, 5, 7, 6},
274 .edge = {5, 4, 7, 6, 1, 0, 3, 2, 26, 25, 24, 27}
275 },
276 [INVERSE] = {
277 .corner = {1, 0, 2, 3, 4, 5, 7, 6},
278 .edge = {5, 4, 7, 6, 1, 0, 3, 2, 26, 25, 24, 27}
279 }
280},
281[DFm] = {
282 [NORMAL] = {
283 .corner = {6, 7, 4, 5, 2, 3, 0, 1},
284 .edge = {3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11}
285 },
286 [INVERSE] = {
287 .corner = {6, 7, 4, 5, 2, 3, 0, 1},
288 .edge = {3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11}
289 }
290},
291[DLm] = {
292 [NORMAL] = {
293 .corner = {3, 2, 0, 1, 6, 7, 5, 4},
294 .edge = {7, 6, 5, 4, 2, 3, 0, 1, 27, 24, 25, 26}
295 },
296 [INVERSE] = {
297 .corner = {2, 3, 1, 0, 7, 6, 4, 5},
298 .edge = {6, 7, 4, 5, 3, 2, 1, 0, 25, 26, 27, 24}
299 }
300},
301[DBm] = {
302 [NORMAL] = {
303 .corner = {7, 6, 5, 4, 3, 2, 1, 0},
304 .edge = {2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9}
305 },
306 [INVERSE] = {
307 .corner = {7, 6, 5, 4, 3, 2, 1, 0},
308 .edge = {2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9}
309 }
310},
311[DRm] = {
312 [NORMAL] = {
313 .corner = {2, 3, 1, 0, 7, 6, 4, 5},
314 .edge = {6, 7, 4, 5, 3, 2, 1, 0, 25, 26, 27, 24}
315 },
316 [INVERSE] = {
317 .corner = {3, 2, 0, 1, 6, 7, 5, 4},
318 .edge = {7, 6, 5, 4, 2, 3, 0, 1, 27, 24, 25, 26}
319 }
320},
321[RUm] = {
322 [NORMAL] = {
323 .corner = {68, 71, 69, 70, 33, 34, 32, 35},
324 .edge = {21, 22, 23, 20, 25, 26, 27, 24, 0, 1, 2, 3}
325 },
326 [INVERSE] = {
327 .corner = {70, 68, 69, 71, 32, 34, 35, 33},
328 .edge = {8, 9, 10, 11, 19, 16, 17, 18, 23, 20, 21, 22}
329 }
330},
331[RFm] = {
332 [NORMAL] = {
333 .corner = {34, 33, 32, 35, 68, 71, 70, 69},
334 .edge = {25, 26, 27, 24, 22, 21, 20, 23, 19, 16, 17, 18}
335 },
336 [INVERSE] = {
337 .corner = {66, 65, 64, 67, 36, 39, 38, 37},
338 .edge = {25, 26, 27, 24, 22, 21, 20, 23, 19, 16, 17, 18}
339 }
340},
341[RDm] = {
342 [NORMAL] = {
343 .corner = {71, 68, 70, 69, 34, 33, 35, 32},
344 .edge = {22, 21, 20, 23, 26, 25, 24, 27, 2, 3, 0, 1}
345 },
346 [INVERSE] = {
347 .corner = {71, 69, 68, 70, 33, 35, 34, 32},
348 .edge = {10, 11, 8, 9, 18, 17, 16, 19, 22, 21, 20, 23}
349 }
350},
351[RBm] = {
352 [NORMAL] = {
353 .corner = {33, 34, 35, 32, 71, 68, 69, 70},
354 .edge = {26, 25, 24, 27, 21, 22, 23, 20, 17, 18, 19, 16}
355 },
356 [INVERSE] = {
357 .corner = {67, 64, 65, 66, 37, 38, 39, 36},
358 .edge = {27, 24, 25, 26, 23, 20, 21, 22, 18, 17, 16, 19}
359 }
360},
361[LUm] = {
362 [NORMAL] = {
363 .corner = {69, 70, 68, 71, 32, 35, 33, 34},
364 .edge = {20, 23, 22, 21, 27, 24, 25, 26, 1, 0, 3, 2}
365 },
366 [INVERSE] = {
367 .corner = {68, 70, 71, 69, 34, 32, 33, 35},
368 .edge = {9, 8, 11, 10, 16, 19, 18, 17, 21, 22, 23, 20}
369 }
370},
371[LFm] = {
372 [NORMAL] = {
373 .corner = {32, 35, 34, 33, 70, 69, 68, 71},
374 .edge = {24, 27, 26, 25, 20, 23, 22, 21, 16, 19, 18, 17}
375 },
376 [INVERSE] = {
377 .corner = {64, 67, 66, 65, 38, 37, 36, 39},
378 .edge = {24, 27, 26, 25, 20, 23, 22, 21, 16, 19, 18, 17}
379 }
380},
381[LDm] = {
382 [NORMAL] = {
383 .corner = {70, 69, 71, 68, 35, 32, 34, 33},
384 .edge = {23, 20, 21, 22, 24, 27, 26, 25, 3, 2, 1, 0}
385 },
386 [INVERSE] = {
387 .corner = {69, 71, 70, 68, 35, 33, 32, 34},
388 .edge = {11, 10, 9, 8, 17, 18, 19, 16, 20, 23, 22, 21}
389 }
390},
391[LBm] = {
392 [NORMAL] = {
393 .corner = {35, 32, 33, 34, 69, 70, 71, 68},
394 .edge = {27, 24, 25, 26, 23, 20, 21, 22, 18, 17, 16, 19}
395 },
396 [INVERSE] = {
397 .corner = {65, 66, 67, 64, 39, 36, 37, 38},
398 .edge = {26, 25, 24, 27, 21, 22, 23, 20, 17, 18, 19, 16}
399 }
400},
401[FUm] = {
402 [NORMAL] = {
403 .corner = {64, 66, 65, 67, 36, 38, 37, 39},
404 .edge = {16, 19, 18, 17, 8, 9, 10, 11, 4, 5, 6, 7}
405 },
406 [INVERSE] = {
407 .corner = {32, 34, 33, 35, 68, 70, 69, 71},
408 .edge = {16, 19, 18, 17, 8, 9, 10, 11, 4, 5, 6, 7}
409 }
410},
411[FRm] = {
412 [NORMAL] = {
413 .corner = {36, 38, 39, 37, 66, 64, 65, 67},
414 .edge = {9, 8, 11, 10, 16, 19, 18, 17, 21, 22, 23, 20}
415 },
416 [INVERSE] = {
417 .corner = {37, 38, 36, 39, 64, 67, 65, 66},
418 .edge = {20, 23, 22, 21, 27, 24, 25, 26, 1, 0, 3, 2}
419 }
420},
421[FDm] = {
422 [NORMAL] = {
423 .corner = {66, 64, 67, 65, 38, 36, 39, 37},
424 .edge = {19, 16, 17, 18, 9, 8, 11, 10, 6, 7, 4, 5}
425 },
426 [INVERSE] = {
427 .corner = {33, 35, 32, 34, 69, 71, 68, 70},
428 .edge = {17, 18, 19, 16, 10, 11, 8, 9, 5, 4, 7, 6}
429 }
430},
431[FLm] = {
432 [NORMAL] = {
433 .corner = {38, 36, 37, 39, 64, 66, 67, 65},
434 .edge = {8, 9, 10, 11, 19, 16, 17, 18, 23, 20, 21, 22}
435 },
436 [INVERSE] = {
437 .corner = {36, 39, 37, 38, 65, 66, 64, 67},
438 .edge = {21, 22, 23, 20, 25, 26, 27, 24, 0, 1, 2, 3}
439 }
440},
441[BUm] = {
442 [NORMAL] = {
443 .corner = {65, 67, 64, 66, 37, 39, 36, 38},
444 .edge = {17, 18, 19, 16, 10, 11, 8, 9, 5, 4, 7, 6}
445 },
446 [INVERSE] = {
447 .corner = {34, 32, 35, 33, 70, 68, 71, 69},
448 .edge = {19, 16, 17, 18, 9, 8, 11, 10, 6, 7, 4, 5}
449 }
450},
451[BRm] = {
452 [NORMAL] = {
453 .corner = {39, 37, 36, 38, 65, 67, 66, 64},
454 .edge = {10, 11, 8, 9, 18, 17, 16, 19, 22, 21, 20, 23}
455 },
456 [INVERSE] = {
457 .corner = {39, 36, 38, 37, 66, 65, 67, 64},
458 .edge = {22, 21, 20, 23, 26, 25, 24, 27, 2, 3, 0, 1}
459 }
460},
461[BDm] = {
462 [NORMAL] = {
463 .corner = {67, 65, 66, 64, 39, 37, 38, 36},
464 .edge = {18, 17, 16, 19, 11, 10, 9, 8, 7, 6, 5, 4}
465 },
466 [INVERSE] = {
467 .corner = {35, 33, 34, 32, 71, 69, 70, 68},
468 .edge = {18, 17, 16, 19, 11, 10, 9, 8, 7, 6, 5, 4}
469 }
470},
471[BLm] = {
472 [NORMAL] = {
473 .corner = {37, 39, 38, 36, 67, 65, 64, 66},
474 .edge = {11, 10, 9, 8, 17, 18, 19, 16, 20, 23, 22, 21}
475 },
476 [INVERSE] = {
477 .corner = {38, 37, 39, 36, 67, 64, 66, 65},
478 .edge = {23, 20, 21, 22, 24, 27, 26, 25, 3, 2, 1, 0}
479 }
480},
diff --git a/utils/transform_00_UFr.txt b/utils/transform_00_UFr.txt
new file mode 100644
index 0000000..dff224d
--- /dev/null
+++ b/utils/transform_00_UFr.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0
diff --git a/utils/transform_01_ULr.txt b/utils/transform_01_ULr.txt
new file mode 100644
index 0000000..4cfb17e
--- /dev/null
+++ b/utils/transform_01_ULr.txt
@@ -0,0 +1 @@
UL0 UR0 DR0 DL0 UF0 UB0 DB0 DF0 FL1 BL1 BR1 FR1 UFL0 UBR0 DBL0 DFR0 UBL0 UFR0 DFL0 DBR0
diff --git a/utils/transform_02_UBr.txt b/utils/transform_02_UBr.txt
new file mode 100644
index 0000000..8c7eeb7
--- /dev/null
+++ b/utils/transform_02_UBr.txt
@@ -0,0 +1 @@
UB0 UF0 DF0 DB0 UL0 UR0 DR0 DL0 BL0 BR0 FR0 FL0 UBL0 UFR0 DBR0 DFL0 UBR0 UFL0 DBL0 DFR0
diff --git a/utils/transform_03_URr.txt b/utils/transform_03_URr.txt
new file mode 100644
index 0000000..ac0e932
--- /dev/null
+++ b/utils/transform_03_URr.txt
@@ -0,0 +1 @@
UR0 UL0 DL0 DR0 UB0 UF0 DF0 DB0 BR1 FR1 FL1 BL1 UBR0 UFL0 DFR0 DBL0 UFR0 UBL0 DBR0 DFL0
diff --git a/utils/transform_04_DFr.txt b/utils/transform_04_DFr.txt
new file mode 100644
index 0000000..cdecc18
--- /dev/null
+++ b/utils/transform_04_DFr.txt
@@ -0,0 +1 @@
DF0 DB0 UB0 UF0 DL0 DR0 UR0 UL0 FL0 FR0 BR0 BL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 UFL0 UBR0
diff --git a/utils/transform_05_DLr.txt b/utils/transform_05_DLr.txt
new file mode 100644
index 0000000..fffaa54
--- /dev/null
+++ b/utils/transform_05_DLr.txt
@@ -0,0 +1 @@
DL0 DR0 UR0 UL0 DB0 DF0 UF0 UB0 BL1 FL1 FR1 BR1 DBL0 DFR0 UFL0 UBR0 DFL0 DBR0 UBL0 UFR0
diff --git a/utils/transform_06_DBr.txt b/utils/transform_06_DBr.txt
new file mode 100644
index 0000000..d2434fa
--- /dev/null
+++ b/utils/transform_06_DBr.txt
@@ -0,0 +1 @@
DB0 DF0 UF0 UB0 DR0 DL0 UL0 UR0 BR0 BL0 FL0 FR0 DBR0 DFL0 UBL0 UFR0 DBL0 DFR0 UBR0 UFL0
diff --git a/utils/transform_07_DRr.txt b/utils/transform_07_DRr.txt
new file mode 100644
index 0000000..c03ba90
--- /dev/null
+++ b/utils/transform_07_DRr.txt
@@ -0,0 +1 @@
DR0 DL0 UL0 UR0 DF0 DB0 UB0 UF0 FR1 BR1 BL1 FL1 DFR0 DBL0 UBR0 UFL0 DBR0 DFL0 UFR0 UBL0
diff --git a/utils/transform_08_RUr.txt b/utils/transform_08_RUr.txt
new file mode 100644
index 0000000..bcf6f8f
--- /dev/null
+++ b/utils/transform_08_RUr.txt
@@ -0,0 +1 @@
UR1 DR1 DL1 UL1 FR1 BR1 BL1 FL1 UF0 UB0 DB0 DF0 UFR2 DBR2 UBL2 DFL2 UBR1 DFR1 UFL1 DBL1
diff --git a/utils/transform_09_RFr.txt b/utils/transform_09_RFr.txt
new file mode 100644
index 0000000..5c9b9b2
--- /dev/null
+++ b/utils/transform_09_RFr.txt
@@ -0,0 +1 @@
FR1 BR1 BL1 FL1 DR1 UR1 UL1 DL1 DF1 UF1 UB1 DB1 DFR1 UBR1 UFL1 DBL1 UFR2 DBR2 DFL2 UBL2
diff --git a/utils/transform_10_RDr.txt b/utils/transform_10_RDr.txt
new file mode 100644
index 0000000..3cca372
--- /dev/null
+++ b/utils/transform_10_RDr.txt
@@ -0,0 +1 @@
DR1 UR1 UL1 DL1 BR1 FR1 FL1 BL1 DB0 DF0 UF0 UB0 DBR2 UFR2 DFL2 UBL2 DFR1 UBR1 DBL1 UFL1
diff --git a/utils/transform_11_RBr.txt b/utils/transform_11_RBr.txt
new file mode 100644
index 0000000..9a43c45
--- /dev/null
+++ b/utils/transform_11_RBr.txt
@@ -0,0 +1 @@
BR1 FR1 FL1 BL1 UR1 DR1 DL1 UL1 UB1 DB1 DF1 UF1 UBR1 DFR1 DBL1 UFL1 DBR2 UFR2 UBL2 DFL2
diff --git a/utils/transform_12_LUr.txt b/utils/transform_12_LUr.txt
new file mode 100644
index 0000000..90c964c
--- /dev/null
+++ b/utils/transform_12_LUr.txt
@@ -0,0 +1 @@
UL1 DL1 DR1 UR1 BL1 FL1 FR1 BR1 UB0 UF0 DF0 DB0 UBL2 DFL2 UFR2 DBR2 UFL1 DBL1 UBR1 DFR1
diff --git a/utils/transform_13_LFr.txt b/utils/transform_13_LFr.txt
new file mode 100644
index 0000000..7c234e6
--- /dev/null
+++ b/utils/transform_13_LFr.txt
@@ -0,0 +1 @@
FL1 BL1 BR1 FR1 UL1 DL1 DR1 UR1 UF1 DF1 DB1 UB1 UFL1 DBL1 DFR1 UBR1 DFL2 UBL2 UFR2 DBR2
diff --git a/utils/transform_14_LDr.txt b/utils/transform_14_LDr.txt
new file mode 100644
index 0000000..bd5f6f2
--- /dev/null
+++ b/utils/transform_14_LDr.txt
@@ -0,0 +1 @@
DL1 UL1 UR1 DR1 FL1 BL1 BR1 FR1 DF0 DB0 UB0 UF0 DFL2 UBL2 DBR2 UFR2 DBL1 UFL1 DFR1 UBR1
diff --git a/utils/transform_15_LBr.txt b/utils/transform_15_LBr.txt
new file mode 100644
index 0000000..91755e0
--- /dev/null
+++ b/utils/transform_15_LBr.txt
@@ -0,0 +1 @@
BL1 FL1 FR1 BR1 DL1 UL1 UR1 DR1 DB1 UB1 UF1 DF1 DBL1 UFL1 UBR1 DFR1 UBL2 DFL2 DBR2 UFR2
diff --git a/utils/transform_16_FUr.txt b/utils/transform_16_FUr.txt
new file mode 100644
index 0000000..25cc125
--- /dev/null
+++ b/utils/transform_16_FUr.txt
@@ -0,0 +1 @@
UF1 DF1 DB1 UB1 FL0 FR0 BR0 BL0 UL0 UR0 DR0 DL0 UFL2 DFR2 UBR2 DBL2 UFR1 DFL1 UBL1 DBR1
diff --git a/utils/transform_17_FRr.txt b/utils/transform_17_FRr.txt
new file mode 100644
index 0000000..0c01df1
--- /dev/null
+++ b/utils/transform_17_FRr.txt
@@ -0,0 +1 @@
FR0 FL0 BL0 BR0 UF1 DF1 DB1 UB1 UR1 DR1 DL1 UL1 UFR1 DFL1 DBR1 UBL1 DFR2 UFL2 UBR2 DBL2
diff --git a/utils/transform_18_FDr.txt b/utils/transform_18_FDr.txt
new file mode 100644
index 0000000..05f367f
--- /dev/null
+++ b/utils/transform_18_FDr.txt
@@ -0,0 +1 @@
DF1 UF1 UB1 DB1 FR0 FL0 BL0 BR0 DR0 DL0 UL0 UR0 DFR2 UFL2 DBL2 UBR2 DFL1 UFR1 DBR1 UBL1
diff --git a/utils/transform_19_FLr.txt b/utils/transform_19_FLr.txt
new file mode 100644
index 0000000..20bf2b1
--- /dev/null
+++ b/utils/transform_19_FLr.txt
@@ -0,0 +1 @@
FL0 FR0 BR0 BL0 DF1 UF1 UB1 DB1 DL1 UL1 UR1 DR1 DFL1 UFR1 UBL1 DBR1 UFL2 DFR2 DBL2 UBR2
diff --git a/utils/transform_20_BUr.txt b/utils/transform_20_BUr.txt
new file mode 100644
index 0000000..0d8200e
--- /dev/null
+++ b/utils/transform_20_BUr.txt
@@ -0,0 +1 @@
UB1 DB1 DF1 UF1 BR0 BL0 FL0 FR0 UR0 UL0 DL0 DR0 UBR2 DBL2 UFL2 DFR2 UBL1 DBR1 UFR1 DFL1
diff --git a/utils/transform_21_BRr.txt b/utils/transform_21_BRr.txt
new file mode 100644
index 0000000..f4b3bb6
--- /dev/null
+++ b/utils/transform_21_BRr.txt
@@ -0,0 +1 @@
BR0 BL0 FL0 FR0 DB1 UB1 UF1 DF1 DR1 UR1 UL1 DL1 DBR1 UBL1 UFR1 DFL1 UBR2 DBL2 DFR2 UFL2
diff --git a/utils/transform_22_BDr.txt b/utils/transform_22_BDr.txt
new file mode 100644
index 0000000..c1642e0
--- /dev/null
+++ b/utils/transform_22_BDr.txt
@@ -0,0 +1 @@
DB1 UB1 UF1 DF1 BL0 BR0 FR0 FL0 DL0 DR0 UR0 UL0 DBL2 UBR2 DFR2 UFL2 DBR1 UBL1 DFL1 UFR1
diff --git a/utils/transform_23_BLr.txt b/utils/transform_23_BLr.txt
new file mode 100644
index 0000000..4394be6
--- /dev/null
+++ b/utils/transform_23_BLr.txt
@@ -0,0 +1 @@
BL0 BR0 FR0 FL0 UB1 DB1 DF1 UF1 UL1 DL1 DR1 UR1 UBL1 DBR1 DFL1 UFR1 DBL2 UBR2 UFL2 DFR2
diff --git a/utils/transform_24_UFm.txt b/utils/transform_24_UFm.txt
new file mode 100644
index 0000000..7888e4b
--- /dev/null
+++ b/utils/transform_24_UFm.txt
@@ -0,0 +1 @@
UF0 UB0 DB0 DF0 UL0 UR0 DR0 DL0 FL0 FR0 BR0 BL0 UFL0 UBR0 DFR0 DBL0 UFR0 UBL0 DFL0 DBR0
diff --git a/utils/transform_25_ULm.txt b/utils/transform_25_ULm.txt
new file mode 100644
index 0000000..0abeb75
--- /dev/null
+++ b/utils/transform_25_ULm.txt
@@ -0,0 +1 @@
UR0 UL0 DL0 DR0 UF0 UB0 DB0 DF0 FR1 BR1 BL1 FL1 UFR0 UBL0 DBR0 DFL0 UBR0 UFL0 DFR0 DBL0
diff --git a/utils/transform_26_UBm.txt b/utils/transform_26_UBm.txt
new file mode 100644
index 0000000..0fba52a
--- /dev/null
+++ b/utils/transform_26_UBm.txt
@@ -0,0 +1 @@
UB0 UF0 DF0 DB0 UR0 UL0 DL0 DR0 BR0 BL0 FL0 FR0 UBR0 UFL0 DBL0 DFR0 UBL0 UFR0 DBR0 DFL0
diff --git a/utils/transform_27_URm.txt b/utils/transform_27_URm.txt
new file mode 100644
index 0000000..49bce19
--- /dev/null
+++ b/utils/transform_27_URm.txt
@@ -0,0 +1 @@
UL0 UR0 DR0 DL0 UB0 UF0 DF0 DB0 BL1 FL1 FR1 BR1 UBL0 UFR0 DFL0 DBR0 UFL0 UBR0 DBL0 DFR0
diff --git a/utils/transform_28_DFm.txt b/utils/transform_28_DFm.txt
new file mode 100644
index 0000000..442aacd
--- /dev/null
+++ b/utils/transform_28_DFm.txt
@@ -0,0 +1 @@
DF0 DB0 UB0 UF0 DR0 DL0 UL0 UR0 FR0 FL0 BL0 BR0 DFR0 DBL0 UFL0 UBR0 DFL0 DBR0 UFR0 UBL0
diff --git a/utils/transform_29_DLm.txt b/utils/transform_29_DLm.txt
new file mode 100644
index 0000000..d2cfc53
--- /dev/null
+++ b/utils/transform_29_DLm.txt
@@ -0,0 +1 @@
DR0 DL0 UL0 UR0 DB0 DF0 UF0 UB0 BR1 FR1 FL1 BL1 DBR0 DFL0 UFR0 UBL0 DFR0 DBL0 UBR0 UFL0
diff --git a/utils/transform_30_DBm.txt b/utils/transform_30_DBm.txt
new file mode 100644
index 0000000..4d92a58
--- /dev/null
+++ b/utils/transform_30_DBm.txt
@@ -0,0 +1 @@
DB0 DF0 UF0 UB0 DL0 DR0 UR0 UL0 BL0 BR0 FR0 FL0 DBL0 DFR0 UBR0 UFL0 DBR0 DFL0 UBL0 UFR0
diff --git a/utils/transform_31_DRm.txt b/utils/transform_31_DRm.txt
new file mode 100644
index 0000000..6774947
--- /dev/null
+++ b/utils/transform_31_DRm.txt
@@ -0,0 +1 @@
DL0 DR0 UR0 UL0 DF0 DB0 UB0 UF0 FL1 BL1 BR1 FR1 DFL0 DBR0 UBL0 UFR0 DBL0 DFR0 UFL0 UBR0
diff --git a/utils/transform_32_RUm.txt b/utils/transform_32_RUm.txt
new file mode 100644
index 0000000..8ba9819
--- /dev/null
+++ b/utils/transform_32_RUm.txt
@@ -0,0 +1 @@
UL1 DL1 DR1 UR1 FL1 BL1 BR1 FR1 UF0 UB0 DB0 DF0 UFL2 DBL2 UBR2 DFR2 UBL1 DFL1 UFR1 DBR1
diff --git a/utils/transform_33_RFm.txt b/utils/transform_33_RFm.txt
new file mode 100644
index 0000000..fb9434d
--- /dev/null
+++ b/utils/transform_33_RFm.txt
@@ -0,0 +1 @@
FL1 BL1 BR1 FR1 DL1 UL1 UR1 DR1 DF1 UF1 UB1 DB1 DFL1 UBL1 UFR1 DBR1 UFL2 DBL2 DFR2 UBR2
diff --git a/utils/transform_34_RDm.txt b/utils/transform_34_RDm.txt
new file mode 100644
index 0000000..96cbee8
--- /dev/null
+++ b/utils/transform_34_RDm.txt
@@ -0,0 +1 @@
DL1 UL1 UR1 DR1 BL1 FL1 FR1 BR1 DB0 DF0 UF0 UB0 DBL2 UFL2 DFR2 UBR2 DFL1 UBL1 DBR1 UFR1
diff --git a/utils/transform_35_RBm.txt b/utils/transform_35_RBm.txt
new file mode 100644
index 0000000..e57c13c
--- /dev/null
+++ b/utils/transform_35_RBm.txt
@@ -0,0 +1 @@
BL1 FL1 FR1 BR1 UL1 DL1 DR1 UR1 UB1 DB1 DF1 UF1 UBL1 DFL1 DBR1 UFR1 DBL2 UFL2 UBR2 DFR2
diff --git a/utils/transform_36_LUm.txt b/utils/transform_36_LUm.txt
new file mode 100644
index 0000000..735768b
--- /dev/null
+++ b/utils/transform_36_LUm.txt
@@ -0,0 +1 @@
UR1 DR1 DL1 UL1 BR1 FR1 FL1 BL1 UB0 UF0 DF0 DB0 UBR2 DFR2 UFL2 DBL2 UFR1 DBR1 UBL1 DFL1
diff --git a/utils/transform_37_LFm.txt b/utils/transform_37_LFm.txt
new file mode 100644
index 0000000..8ee4766
--- /dev/null
+++ b/utils/transform_37_LFm.txt
@@ -0,0 +1 @@
FR1 BR1 BL1 FL1 UR1 DR1 DL1 UL1 UF1 DF1 DB1 UB1 UFR1 DBR1 DFL1 UBL1 DFR2 UBR2 UFL2 DBL2
diff --git a/utils/transform_38_LDm.txt b/utils/transform_38_LDm.txt
new file mode 100644
index 0000000..4b3f54b
--- /dev/null
+++ b/utils/transform_38_LDm.txt
@@ -0,0 +1 @@
DR1 UR1 UL1 DL1 FR1 BR1 BL1 FL1 DF0 DB0 UB0 UF0 DFR2 UBR2 DBL2 UFL2 DBR1 UFR1 DFL1 UBL1
diff --git a/utils/transform_39_LBm.txt b/utils/transform_39_LBm.txt
new file mode 100644
index 0000000..3b98506
--- /dev/null
+++ b/utils/transform_39_LBm.txt
@@ -0,0 +1 @@
BR1 FR1 FL1 BL1 DR1 UR1 UL1 DL1 DB1 UB1 UF1 DF1 DBR1 UFR1 UBL1 DFL1 UBR2 DFR2 DBL2 UFL2
diff --git a/utils/transform_40_FUm.txt b/utils/transform_40_FUm.txt
new file mode 100644
index 0000000..0c6484d
--- /dev/null
+++ b/utils/transform_40_FUm.txt
@@ -0,0 +1 @@
UF1 DF1 DB1 UB1 FR0 FL0 BL0 BR0 UR0 UL0 DL0 DR0 UFR2 DFL2 UBL2 DBR2 UFL1 DFR1 UBR1 DBL1
diff --git a/utils/transform_41_FRm.txt b/utils/transform_41_FRm.txt
new file mode 100644
index 0000000..cc67b5b
--- /dev/null
+++ b/utils/transform_41_FRm.txt
@@ -0,0 +1 @@
FL0 FR0 BR0 BL0 UF1 DF1 DB1 UB1 UL1 DL1 DR1 UR1 UFL1 DFR1 DBL1 UBR1 DFL2 UFR2 UBL2 DBR2
diff --git a/utils/transform_42_FDm.txt b/utils/transform_42_FDm.txt
new file mode 100644
index 0000000..c3d8b39
--- /dev/null
+++ b/utils/transform_42_FDm.txt
@@ -0,0 +1 @@
DF1 UF1 UB1 DB1 FL0 FR0 BR0 BL0 DL0 DR0 UR0 UL0 DFL2 UFR2 DBR2 UBL2 DFR1 UFL1 DBL1 UBR1
diff --git a/utils/transform_43_FLm.txt b/utils/transform_43_FLm.txt
new file mode 100644
index 0000000..ae096e0
--- /dev/null
+++ b/utils/transform_43_FLm.txt
@@ -0,0 +1 @@
FR0 FL0 BL0 BR0 DF1 UF1 UB1 DB1 DR1 UR1 UL1 DL1 DFR1 UFL1 UBR1 DBL1 UFR2 DFL2 DBR2 UBL2
diff --git a/utils/transform_44_BUm.txt b/utils/transform_44_BUm.txt
new file mode 100644
index 0000000..08d5683
--- /dev/null
+++ b/utils/transform_44_BUm.txt
@@ -0,0 +1 @@
UB1 DB1 DF1 UF1 BL0 BR0 FR0 FL0 UL0 UR0 DR0 DL0 UBL2 DBR2 UFR2 DFL2 UBR1 DBL1 UFL1 DFR1
diff --git a/utils/transform_45_BRm.txt b/utils/transform_45_BRm.txt
new file mode 100644
index 0000000..167c62e
--- /dev/null
+++ b/utils/transform_45_BRm.txt
@@ -0,0 +1 @@
BL0 BR0 FR0 FL0 DB1 UB1 UF1 DF1 DL1 UL1 UR1 DR1 DBL1 UBR1 UFL1 DFR1 UBL2 DBR2 DFL2 UFR2
diff --git a/utils/transform_46_BDm.txt b/utils/transform_46_BDm.txt
new file mode 100644
index 0000000..f5e56f2
--- /dev/null
+++ b/utils/transform_46_BDm.txt
@@ -0,0 +1 @@
DB1 UB1 UF1 DF1 BR0 BL0 FL0 FR0 DR0 DL0 UL0 UR0 DBR2 UBL2 DFL2 UFR2 DBL1 UBR1 DFR1 UFL1
diff --git a/utils/transform_47_BLm.txt b/utils/transform_47_BLm.txt
new file mode 100644
index 0000000..02b2828
--- /dev/null
+++ b/utils/transform_47_BLm.txt
@@ -0,0 +1 @@
BR0 BL0 FL0 FR0 UB1 DB1 DF1 UF1 UR1 DR1 DL1 UL1 UBR1 DBL1 DFR1 UFL1 DBR2 UBL2 UFR2 DFL2
diff --git a/utils/transform_moves.txt b/utils/transform_moves.txt
new file mode 100644
index 0000000..469008b
--- /dev/null
+++ b/utils/transform_moves.txt
@@ -0,0 +1,95 @@
1UFr U U
2UFr R R
3UFr F F
4
5ULr U U
6ULr R F
7ULr F L
8
9UBr U U
10UBr R L
11UBr F B
12
13URr U U
14URr R B
15URr F R
16
17DFr U D
18DFr R L
19DFr F F
20
21DLr U D
22DLr R B
23DLr F L
24
25DBr U D
26DBr R R
27DBr F B
28
29DRr U D
30DRr R F
31DRr F R
32
33RUr U R
34RUr R F
35RUr F U
36
37RFr U R
38RFr R D
39RFr F F
40
41RDr U R
42RDr R B
43RDr F D
44
45RBr U R
46RBr R U
47RBr F B
48
49LUr U L
50LUr R B
51LUr F U
52
53LFr U L
54LFr R U
55LFr F F
56
57LDr U L
58LDr R F
59LDr F D
60
61LBr U L
62LBr R D
63LBr F B
64
65FUr U F
66FUr R L
67FUr F U
68
69FRr U F
70FRr R U
71FRr F R
72
73FDr U F
74FDr R R
75FDr F D
76
77FLr U F
78FLr R D
79FLr F L
80
81BUr U B
82BUr R R
83BUr F U
84
85BRr U B
86BRr R D
87BRr F R
88
89BDr U B
90BDr R L
91BDr F D
92
93BLr U B
94BLr R U
95BLr F L

Generated with cgit - Back to sebastiano.tronto.net