proofs/crypto/hash/incremental.bend
bend-collections-laws-crypto@1.0.0.0 · 1,068 lines · 27 definitions
1
2import Base
3import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/state.bend as S256
4import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend as C256
5import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/sha256.bend as SHA256
6import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha512/types.bend as T512
7import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha512/core.bend as C512
8import bend-collections-laws-crypto@1.0.0.0/src/crypto/keccak/types.bend as TK
9import bend-collections-laws-crypto@1.0.0.0/src/crypto/keccak/permutation.bend as P
10import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha3/core.bend as C3
11import bend-collections-laws-crypto@1.0.0.0/src/crypto/hash.bend as H
12import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/sha/conformance.bend as SC
13import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/hash/lists.bend as L
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29def st256(st: H.Sha256State) -> S256.State:
30 match st:
31 case H.St256{s, b}:
32 s
33
34def buf256(st: H.Sha256State) -> List<&2, U32>:
35 match st:
36 case H.St256{s, b}:
37 b
38
39law absorb256_inv:
40 for +fuel: Nat
41 for +bytes: List<&2, U32>
42 for +q: Nat
43 for +s: S256.State
44 for +z: List<&2, U32>
45 {C256.block_bytes(List.append(&2, U32, bytes, z), q, C256.round_constants(), s) == C256.block_bytes(List.append(&2, U32, buf256(H.absorb256(fuel, H.read256_0(bytes), bytes, q, s)), z), q, C256.round_constants(), st256(H.absorb256(fuel, H.read256_0(bytes), bytes, q, s))) : S256.State}
46
47def absorb256_inv(fuel, bytes, q, s, z):
48 match fuel:
49 case 0n:
50 {==}
51 case 1n+p:
52 match bytes:
53 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> rest:
54 +fast = C256.fips_compress16(C256.pack(b0, b1, b2, b3), C256.pack(b4, b5, b6, b7), C256.pack(b8, b9, b10, b11), C256.pack(b12, b13, b14, b15), C256.pack(b16, b17, b18, b19), C256.pack(b20, b21, b22, b23), C256.pack(b24, b25, b26, b27), C256.pack(b28, b29, b30, b31), C256.pack(b32, b33, b34, b35), C256.pack(b36, b37, b38, b39), C256.pack(b40, b41, b42, b43), C256.pack(b44, b45, b46, b47), C256.pack(b48, b49, b50, b51), C256.pack(b52, b53, b54, b55), C256.pack(b56, b57, b58, b59), C256.pack(b60, b61, b62, b63), q, s)
55 %SC.fips16_correct(C256.pack(b0, b1, b2, b3), C256.pack(b4, b5, b6, b7), C256.pack(b8, b9, b10, b11), C256.pack(b12, b13, b14, b15), C256.pack(b16, b17, b18, b19), C256.pack(b20, b21, b22, b23), C256.pack(b24, b25, b26, b27), C256.pack(b28, b29, b30, b31), C256.pack(b32, b33, b34, b35), C256.pack(b36, b37, b38, b39), C256.pack(b40, b41, b42, b43), C256.pack(b44, b45, b46, b47), C256.pack(b48, b49, b50, b51), C256.pack(b52, b53, b54, b55), C256.pack(b56, b57, b58, b59), C256.pack(b60, b61, b62, b63), q, s) :
56 {C256.block_bytes(List.append(&2, U32, rest, z), q, C256.round_constants(), _) == C256.block_bytes(List.append(&2, U32, buf256(H.absorb256(p, H.read256_0(rest), rest, q, fast)), z), q, C256.round_constants(), st256(H.absorb256(p, H.read256_0(rest), rest, q, fast))) : S256.State}
57 absorb256_inv(p, rest, q, fast, z)
58 case Nil{}:
59 {==}
60 case b0 <> Nil{}:
61 {==}
62 case b0 <> b1 <> Nil{}:
63 {==}
64 case b0 <> b1 <> b2 <> Nil{}:
65 {==}
66 case b0 <> b1 <> b2 <> b3 <> Nil{}:
67 {==}
68 case b0 <> b1 <> b2 <> b3 <> b4 <> Nil{}:
69 {==}
70 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> Nil{}:
71 {==}
72 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> Nil{}:
73 {==}
74 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> Nil{}:
75 {==}
76 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> Nil{}:
77 {==}
78 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> Nil{}:
79 {==}
80 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> Nil{}:
81 {==}
82 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> Nil{}:
83 {==}
84 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> Nil{}:
85 {==}
86 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> Nil{}:
87 {==}
88 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> Nil{}:
89 {==}
90 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> Nil{}:
91 {==}
92 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> Nil{}:
93 {==}
94 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> Nil{}:
95 {==}
96 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> Nil{}:
97 {==}
98 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> Nil{}:
99 {==}
100 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> Nil{}:
101 {==}
102 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> Nil{}:
103 {==}
104 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> Nil{}:
105 {==}
106 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> Nil{}:
107 {==}
108 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> Nil{}:
109 {==}
110 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> Nil{}:
111 {==}
112 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> Nil{}:
113 {==}
114 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> Nil{}:
115 {==}
116 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> Nil{}:
117 {==}
118 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> Nil{}:
119 {==}
120 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> Nil{}:
121 {==}
122 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> Nil{}:
123 {==}
124 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> Nil{}:
125 {==}
126 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> Nil{}:
127 {==}
128 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> Nil{}:
129 {==}
130 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> Nil{}:
131 {==}
132 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> Nil{}:
133 {==}
134 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> Nil{}:
135 {==}
136 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> Nil{}:
137 {==}
138 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> Nil{}:
139 {==}
140 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> Nil{}:
141 {==}
142 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> Nil{}:
143 {==}
144 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> Nil{}:
145 {==}
146 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> Nil{}:
147 {==}
148 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> Nil{}:
149 {==}
150 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> Nil{}:
151 {==}
152 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> Nil{}:
153 {==}
154 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> Nil{}:
155 {==}
156 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> Nil{}:
157 {==}
158 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> Nil{}:
159 {==}
160 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> Nil{}:
161 {==}
162 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> Nil{}:
163 {==}
164 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> Nil{}:
165 {==}
166 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> Nil{}:
167 {==}
168 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> Nil{}:
169 {==}
170 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> Nil{}:
171 {==}
172 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> Nil{}:
173 {==}
174 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> Nil{}:
175 {==}
176 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> Nil{}:
177 {==}
178 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> Nil{}:
179 {==}
180 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> Nil{}:
181 {==}
182 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> Nil{}:
183 {==}
184 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> Nil{}:
185 {==}
186
187law step256_inv:
188 for +st: H.Sha256State
189 for +xs: List<&2, U32>
190 for +q: Nat
191 for +z: List<&2, U32>
192 {C256.block_bytes(List.append(&2, U32, List.append(&2, U32, buf256(st), xs), z), q, C256.round_constants(), st256(st)) == C256.block_bytes(List.append(&2, U32, buf256(H.step256(st, xs, q)), z), q, C256.round_constants(), st256(H.step256(st, xs, q))) : S256.State}
193
194def step256_inv(st, xs, q, z):
195 match st:
196 case H.St256{s, buf}:
197 absorb256_inv(List.length(&2, U32, List.append(&2, U32, buf, xs)), List.append(&2, U32, buf, xs), q, s, z)
198
199
200def fold256(cs: List<&2, List<&2, U32>>, +q: Nat, st: H.Sha256State) -> H.Sha256State:
201 match cs:
202 case Nil{}:
203 st
204 case c <> ct:
205 fold256(ct, q, H.step256(st, c, q))
206
207law fold256_inv:
208 for +cs: List<&2, List<&2, U32>>
209 for +q: Nat
210 for +st: H.Sha256State
211 for +z: List<&2, U32>
212 {C256.block_bytes(List.append(&2, U32, List.append(&2, U32, buf256(st), List.concat(&2, U32, cs)), z), q, C256.round_constants(), st256(st)) == C256.block_bytes(List.append(&2, U32, buf256(fold256(cs, q, st)), z), q, C256.round_constants(), st256(fold256(cs, q, st))) : S256.State}
213
214def fold256_inv(cs, q, st, z):
215 match cs:
216 case Nil{}:
217 %L.append_nil(buf256(st)) :
218 {C256.block_bytes(List.append(&2, U32, List.append(&2, U32, buf256(st), Nil{}), z), q, C256.round_constants(), st256(st)) == C256.block_bytes(List.append(&2, U32, _, z), q, C256.round_constants(), st256(st)) : S256.State}
219 {==}
220 case c <> ct:
221 +st2 = H.step256(st, c, q)
222 +m = List.concat(&2, U32, ct)
223 Equal.trans(S256.State,
224 C256.block_bytes(List.append(&2, U32, List.append(&2, U32, buf256(st), List.append(&2, U32, c, m)), z), q, C256.round_constants(), st256(st)),
225 C256.block_bytes(List.append(&2, U32, List.append(&2, U32, buf256(st), c), List.append(&2, U32, m, z)), q, C256.round_constants(), st256(st)),
226 C256.block_bytes(List.append(&2, U32, buf256(fold256(ct, q, st2)), z), q, C256.round_constants(), st256(fold256(ct, q, st2))),
227 Equal.cong(List<&2, U32>, S256.State, t => C256.block_bytes(t, q, C256.round_constants(), st256(st)),
228 List.append(&2, U32, List.append(&2, U32, buf256(st), List.append(&2, U32, c, m)), z), List.append(&2, U32, List.append(&2, U32, buf256(st), c), List.append(&2, U32, m, z)),
229 Equal.trans(List<&2, U32>, List.append(&2, U32, List.append(&2, U32, buf256(st), List.append(&2, U32, c, m)), z), List.append(&2, U32, List.append(&2, U32, List.append(&2, U32, buf256(st), c), m), z), List.append(&2, U32, List.append(&2, U32, buf256(st), c), List.append(&2, U32, m, z)),
230 Equal.cong(List<&2, U32>, List<&2, U32>, t => List.append(&2, U32, t, z),
231 List.append(&2, U32, buf256(st), List.append(&2, U32, c, m)), List.append(&2, U32, List.append(&2, U32, buf256(st), c), m), L.append_assoc_rev(buf256(st), c, m)),
232 L.append_assoc(List.append(&2, U32, buf256(st), c), m, z))),
233 Equal.trans(S256.State, C256.block_bytes(List.append(&2, U32, List.append(&2, U32, buf256(st), c), List.append(&2, U32, m, z)), q, C256.round_constants(), st256(st)), C256.block_bytes(List.append(&2, U32, buf256(st2), List.append(&2, U32, m, z)), q, C256.round_constants(), st256(st2)), C256.block_bytes(List.append(&2, U32, buf256(fold256(ct, q, st2)), z), q, C256.round_constants(), st256(fold256(ct, q, st2))),
234 step256_inv(st, c, q, List.append(&2, U32, m, z)),
235 Equal.trans(S256.State, C256.block_bytes(List.append(&2, U32, buf256(st2), List.append(&2, U32, m, z)), q, C256.round_constants(), st256(st2)), C256.block_bytes(List.append(&2, U32, List.append(&2, U32, buf256(st2), m), z), q, C256.round_constants(), st256(st2)), C256.block_bytes(List.append(&2, U32, buf256(fold256(ct, q, st2)), z), q, C256.round_constants(), st256(fold256(ct, q, st2))),
236 Equal.cong(List<&2, U32>, S256.State, t => C256.block_bytes(t, q, C256.round_constants(), st256(st2)),
237 List.append(&2, U32, buf256(st2), List.append(&2, U32, m, z)), List.append(&2, U32, List.append(&2, U32, buf256(st2), m), z), L.append_assoc_rev(buf256(st2), m, z)),
238 fold256_inv(ct, q, st2, z))))
239
240law state256:
241 for +cs: List<&2, List<&2, U32>>
242 for +st: H.Sha256State
243 for +len: Nat
244 {H.fold(cs, H.Sha256H{st, len}) == H.Sha256H{fold256(cs, 48n, st), Nat.add(len, List.length(&2, U32, List.concat(&2, U32, cs)))} : H.Hasher}
245
246def state256(cs, st, len):
247 match cs:
248 case Nil{}:
249 Equal.cong(Nat, H.Hasher, t => H.Sha256H{st, t}, len, Nat.add(len, 0n),
250 Equal.sym(Nat, Nat.add(len, 0n), len, L.add_zero(len)))
251 case c <> ct:
252 +m = List.concat(&2, U32, ct)
253 %L.add_length(len, c, m) :
254 {H.fold(c <> ct, H.Sha256H{st, len}) == H.Sha256H{fold256(ct, 48n, H.step256(st, c, 48n)), _} : H.Hasher}
255 state256(ct, H.step256(st, c, 48n), Nat.add(len, List.length(&2, U32, c)))
256
257law finish256_eta:
258 for +st: H.Sha256State
259 for +len: Nat
260 for +q: Nat
261 {H.finish256(st, len, q) == SHA256.digest_bytes(C256.digest(C256.block_bytes(List.append(&2, U32, buf256(st), C256.suffix(len)), q, C256.round_constants(), st256(st)))) : List<&2, U32>}
262
263def finish256_eta(st, len, q):
264 match st:
265 case H.St256{s, buf}:
266 {==}
267
268
269law incremental256:
270 for +cs: List<&2, List<&2, U32>>
271 {H.digest(H.update_all(H.new_sha256(), cs)) == SHA256.digest_bytes(C256.digest(C256.block_bytes(List.append(&2, U32, List.concat(&2, U32, cs), C256.suffix(List.length(&2, U32, List.concat(&2, U32, cs)))), 48n, C256.round_constants(), C256.initial()))) : List<&2, U32>}
272
273def incremental256(cs):
274 +m = List.concat(&2, U32, cs)
275 +qs = fold256(cs, 48n, H.St256{C256.initial(), Nil{}})
276 %Equal.sym(H.Hasher, H.fold(cs, H.Sha256H{H.St256{C256.initial(), Nil{}}, 0n}), H.Sha256H{qs, List.length(&2, U32, m)},
277 state256(cs, H.St256{C256.initial(), Nil{}}, 0n)) :
278 {H.digest(_) == SHA256.digest_bytes(C256.digest(C256.block_bytes(List.append(&2, U32, List.concat(&2, U32, cs), C256.suffix(List.length(&2, U32, List.concat(&2, U32, cs)))), 48n, C256.round_constants(), C256.initial()))) : List<&2, U32>}
279 %Equal.sym(List<&2, U32>, H.finish256(qs, List.length(&2, U32, m), 48n), SHA256.digest_bytes(C256.digest(C256.block_bytes(List.append(&2, U32, buf256(qs), C256.suffix(List.length(&2, U32, m))), 48n, C256.round_constants(), st256(qs)))),
280 finish256_eta(qs, List.length(&2, U32, m), 48n)) :
281 {_ == SHA256.digest_bytes(C256.digest(C256.block_bytes(List.append(&2, U32, List.concat(&2, U32, cs), C256.suffix(List.length(&2, U32, List.concat(&2, U32, cs)))), 48n, C256.round_constants(), C256.initial()))) : List<&2, U32>}
282 Equal.cong(S256.State, List<&2, U32>, t => SHA256.digest_bytes(C256.digest(t)),
283 C256.block_bytes(List.append(&2, U32, buf256(qs), C256.suffix(List.length(&2, U32, m))), 48n, C256.round_constants(), st256(qs)), C256.block_bytes(List.append(&2, U32, m, C256.suffix(List.length(&2, U32, m))), 48n, C256.round_constants(), C256.initial()),
284 Equal.sym(S256.State, C256.block_bytes(List.append(&2, U32, m, C256.suffix(List.length(&2, U32, m))), 48n, C256.round_constants(), C256.initial()), C256.block_bytes(List.append(&2, U32, buf256(qs), C256.suffix(List.length(&2, U32, m))), 48n, C256.round_constants(), st256(qs)), fold256_inv(cs, 48n, H.St256{C256.initial(), Nil{}}, C256.suffix(List.length(&2, U32, m)))))
285
286
287
288def st512(st: H.Sha512State) -> T512.State:
289 match st:
290 case H.St512{s, b}:
291 s
292
293def buf512(st: H.Sha512State) -> List<&2, U32>:
294 match st:
295 case H.St512{s, b}:
296 b
297
298law absorb512_inv:
299 for +fuel: Nat
300 for +bytes: List<&2, U32>
301 for +q: Nat
302 for +s: T512.State
303 for +z: List<&2, U32>
304 {C512.blocks(C512.lanes(List.append(&2, U32, bytes, z)), q, C512.round_constants(), s) == C512.blocks(C512.lanes(List.append(&2, U32, buf512(H.absorb512(fuel, H.read512_0(bytes), bytes, q, s)), z)), q, C512.round_constants(), st512(H.absorb512(fuel, H.read512_0(bytes), bytes, q, s))) : T512.State}
305
306def absorb512_inv(fuel, bytes, q, s, z):
307 match fuel:
308 case 0n:
309 {==}
310 case 1n+p:
311 match bytes:
312 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> rest:
313 absorb512_inv(p, rest, q, C512.compress16(T512.W{C512.pack(b0, b1, b2, b3), C512.pack(b4, b5, b6, b7)}, T512.W{C512.pack(b8, b9, b10, b11), C512.pack(b12, b13, b14, b15)}, T512.W{C512.pack(b16, b17, b18, b19), C512.pack(b20, b21, b22, b23)}, T512.W{C512.pack(b24, b25, b26, b27), C512.pack(b28, b29, b30, b31)}, T512.W{C512.pack(b32, b33, b34, b35), C512.pack(b36, b37, b38, b39)}, T512.W{C512.pack(b40, b41, b42, b43), C512.pack(b44, b45, b46, b47)}, T512.W{C512.pack(b48, b49, b50, b51), C512.pack(b52, b53, b54, b55)}, T512.W{C512.pack(b56, b57, b58, b59), C512.pack(b60, b61, b62, b63)}, T512.W{C512.pack(b64, b65, b66, b67), C512.pack(b68, b69, b70, b71)}, T512.W{C512.pack(b72, b73, b74, b75), C512.pack(b76, b77, b78, b79)}, T512.W{C512.pack(b80, b81, b82, b83), C512.pack(b84, b85, b86, b87)}, T512.W{C512.pack(b88, b89, b90, b91), C512.pack(b92, b93, b94, b95)}, T512.W{C512.pack(b96, b97, b98, b99), C512.pack(b100, b101, b102, b103)}, T512.W{C512.pack(b104, b105, b106, b107), C512.pack(b108, b109, b110, b111)}, T512.W{C512.pack(b112, b113, b114, b115), C512.pack(b116, b117, b118, b119)}, T512.W{C512.pack(b120, b121, b122, b123), C512.pack(b124, b125, b126, b127)}, q, C512.round_constants(), s), z)
314 case Nil{}:
315 {==}
316 case b0 <> Nil{}:
317 {==}
318 case b0 <> b1 <> Nil{}:
319 {==}
320 case b0 <> b1 <> b2 <> Nil{}:
321 {==}
322 case b0 <> b1 <> b2 <> b3 <> Nil{}:
323 {==}
324 case b0 <> b1 <> b2 <> b3 <> b4 <> Nil{}:
325 {==}
326 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> Nil{}:
327 {==}
328 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> Nil{}:
329 {==}
330 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> Nil{}:
331 {==}
332 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> Nil{}:
333 {==}
334 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> Nil{}:
335 {==}
336 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> Nil{}:
337 {==}
338 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> Nil{}:
339 {==}
340 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> Nil{}:
341 {==}
342 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> Nil{}:
343 {==}
344 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> Nil{}:
345 {==}
346 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> Nil{}:
347 {==}
348 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> Nil{}:
349 {==}
350 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> Nil{}:
351 {==}
352 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> Nil{}:
353 {==}
354 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> Nil{}:
355 {==}
356 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> Nil{}:
357 {==}
358 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> Nil{}:
359 {==}
360 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> Nil{}:
361 {==}
362 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> Nil{}:
363 {==}
364 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> Nil{}:
365 {==}
366 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> Nil{}:
367 {==}
368 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> Nil{}:
369 {==}
370 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> Nil{}:
371 {==}
372 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> Nil{}:
373 {==}
374 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> Nil{}:
375 {==}
376 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> Nil{}:
377 {==}
378 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> Nil{}:
379 {==}
380 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> Nil{}:
381 {==}
382 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> Nil{}:
383 {==}
384 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> Nil{}:
385 {==}
386 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> Nil{}:
387 {==}
388 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> Nil{}:
389 {==}
390 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> Nil{}:
391 {==}
392 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> Nil{}:
393 {==}
394 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> Nil{}:
395 {==}
396 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> Nil{}:
397 {==}
398 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> Nil{}:
399 {==}
400 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> Nil{}:
401 {==}
402 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> Nil{}:
403 {==}
404 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> Nil{}:
405 {==}
406 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> Nil{}:
407 {==}
408 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> Nil{}:
409 {==}
410 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> Nil{}:
411 {==}
412 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> Nil{}:
413 {==}
414 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> Nil{}:
415 {==}
416 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> Nil{}:
417 {==}
418 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> Nil{}:
419 {==}
420 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> Nil{}:
421 {==}
422 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> Nil{}:
423 {==}
424 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> Nil{}:
425 {==}
426 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> Nil{}:
427 {==}
428 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> Nil{}:
429 {==}
430 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> Nil{}:
431 {==}
432 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> Nil{}:
433 {==}
434 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> Nil{}:
435 {==}
436 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> Nil{}:
437 {==}
438 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> Nil{}:
439 {==}
440 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> Nil{}:
441 {==}
442 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> Nil{}:
443 {==}
444 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> Nil{}:
445 {==}
446 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> Nil{}:
447 {==}
448 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> Nil{}:
449 {==}
450 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> Nil{}:
451 {==}
452 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> Nil{}:
453 {==}
454 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> Nil{}:
455 {==}
456 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> Nil{}:
457 {==}
458 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> Nil{}:
459 {==}
460 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> Nil{}:
461 {==}
462 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> Nil{}:
463 {==}
464 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> Nil{}:
465 {==}
466 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> Nil{}:
467 {==}
468 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> Nil{}:
469 {==}
470 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> Nil{}:
471 {==}
472 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> Nil{}:
473 {==}
474 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> Nil{}:
475 {==}
476 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> Nil{}:
477 {==}
478 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> Nil{}:
479 {==}
480 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> Nil{}:
481 {==}
482 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> Nil{}:
483 {==}
484 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> Nil{}:
485 {==}
486 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> Nil{}:
487 {==}
488 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> Nil{}:
489 {==}
490 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> Nil{}:
491 {==}
492 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> Nil{}:
493 {==}
494 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> Nil{}:
495 {==}
496 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> Nil{}:
497 {==}
498 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> Nil{}:
499 {==}
500 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> Nil{}:
501 {==}
502 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> Nil{}:
503 {==}
504 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> Nil{}:
505 {==}
506 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> Nil{}:
507 {==}
508 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> Nil{}:
509 {==}
510 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> Nil{}:
511 {==}
512 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> Nil{}:
513 {==}
514 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> Nil{}:
515 {==}
516 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> Nil{}:
517 {==}
518 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> Nil{}:
519 {==}
520 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> Nil{}:
521 {==}
522 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> Nil{}:
523 {==}
524 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> Nil{}:
525 {==}
526 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> Nil{}:
527 {==}
528 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> Nil{}:
529 {==}
530 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> Nil{}:
531 {==}
532 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> Nil{}:
533 {==}
534 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> Nil{}:
535 {==}
536 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> Nil{}:
537 {==}
538 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> Nil{}:
539 {==}
540 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> Nil{}:
541 {==}
542 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> Nil{}:
543 {==}
544 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> Nil{}:
545 {==}
546 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> Nil{}:
547 {==}
548 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> Nil{}:
549 {==}
550 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> Nil{}:
551 {==}
552 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> Nil{}:
553 {==}
554 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> Nil{}:
555 {==}
556 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> Nil{}:
557 {==}
558 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> Nil{}:
559 {==}
560 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> Nil{}:
561 {==}
562 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> Nil{}:
563 {==}
564 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> Nil{}:
565 {==}
566 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> Nil{}:
567 {==}
568 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> Nil{}:
569 {==}
570
571law step512_inv:
572 for +st: H.Sha512State
573 for +xs: List<&2, U32>
574 for +q: Nat
575 for +z: List<&2, U32>
576 {C512.blocks(C512.lanes(List.append(&2, U32, List.append(&2, U32, buf512(st), xs), z)), q, C512.round_constants(), st512(st)) == C512.blocks(C512.lanes(List.append(&2, U32, buf512(H.step512(st, xs, q)), z)), q, C512.round_constants(), st512(H.step512(st, xs, q))) : T512.State}
577
578def step512_inv(st, xs, q, z):
579 match st:
580 case H.St512{s, buf}:
581 absorb512_inv(List.length(&2, U32, List.append(&2, U32, buf, xs)), List.append(&2, U32, buf, xs), q, s, z)
582
583
584def fold512(cs: List<&2, List<&2, U32>>, +q: Nat, st: H.Sha512State) -> H.Sha512State:
585 match cs:
586 case Nil{}:
587 st
588 case c <> ct:
589 fold512(ct, q, H.step512(st, c, q))
590
591law fold512_inv:
592 for +cs: List<&2, List<&2, U32>>
593 for +q: Nat
594 for +st: H.Sha512State
595 for +z: List<&2, U32>
596 {C512.blocks(C512.lanes(List.append(&2, U32, List.append(&2, U32, buf512(st), List.concat(&2, U32, cs)), z)), q, C512.round_constants(), st512(st)) == C512.blocks(C512.lanes(List.append(&2, U32, buf512(fold512(cs, q, st)), z)), q, C512.round_constants(), st512(fold512(cs, q, st))) : T512.State}
597
598def fold512_inv(cs, q, st, z):
599 match cs:
600 case Nil{}:
601 %L.append_nil(buf512(st)) :
602 {C512.blocks(C512.lanes(List.append(&2, U32, List.append(&2, U32, buf512(st), Nil{}), z)), q, C512.round_constants(), st512(st)) == C512.blocks(C512.lanes(List.append(&2, U32, _, z)), q, C512.round_constants(), st512(st)) : T512.State}
603 {==}
604 case c <> ct:
605 +st2 = H.step512(st, c, q)
606 +m = List.concat(&2, U32, ct)
607 Equal.trans(T512.State,
608 C512.blocks(C512.lanes(List.append(&2, U32, List.append(&2, U32, buf512(st), List.append(&2, U32, c, m)), z)), q, C512.round_constants(), st512(st)),
609 C512.blocks(C512.lanes(List.append(&2, U32, List.append(&2, U32, buf512(st), c), List.append(&2, U32, m, z))), q, C512.round_constants(), st512(st)),
610 C512.blocks(C512.lanes(List.append(&2, U32, buf512(fold512(ct, q, st2)), z)), q, C512.round_constants(), st512(fold512(ct, q, st2))),
611 Equal.cong(List<&2, U32>, T512.State, t => C512.blocks(C512.lanes(t), q, C512.round_constants(), st512(st)),
612 List.append(&2, U32, List.append(&2, U32, buf512(st), List.append(&2, U32, c, m)), z), List.append(&2, U32, List.append(&2, U32, buf512(st), c), List.append(&2, U32, m, z)),
613 Equal.trans(List<&2, U32>, List.append(&2, U32, List.append(&2, U32, buf512(st), List.append(&2, U32, c, m)), z), List.append(&2, U32, List.append(&2, U32, List.append(&2, U32, buf512(st), c), m), z), List.append(&2, U32, List.append(&2, U32, buf512(st), c), List.append(&2, U32, m, z)),
614 Equal.cong(List<&2, U32>, List<&2, U32>, t => List.append(&2, U32, t, z),
615 List.append(&2, U32, buf512(st), List.append(&2, U32, c, m)), List.append(&2, U32, List.append(&2, U32, buf512(st), c), m), L.append_assoc_rev(buf512(st), c, m)),
616 L.append_assoc(List.append(&2, U32, buf512(st), c), m, z))),
617 Equal.trans(T512.State, C512.blocks(C512.lanes(List.append(&2, U32, List.append(&2, U32, buf512(st), c), List.append(&2, U32, m, z))), q, C512.round_constants(), st512(st)), C512.blocks(C512.lanes(List.append(&2, U32, buf512(st2), List.append(&2, U32, m, z))), q, C512.round_constants(), st512(st2)), C512.blocks(C512.lanes(List.append(&2, U32, buf512(fold512(ct, q, st2)), z)), q, C512.round_constants(), st512(fold512(ct, q, st2))),
618 step512_inv(st, c, q, List.append(&2, U32, m, z)),
619 Equal.trans(T512.State, C512.blocks(C512.lanes(List.append(&2, U32, buf512(st2), List.append(&2, U32, m, z))), q, C512.round_constants(), st512(st2)), C512.blocks(C512.lanes(List.append(&2, U32, List.append(&2, U32, buf512(st2), m), z)), q, C512.round_constants(), st512(st2)), C512.blocks(C512.lanes(List.append(&2, U32, buf512(fold512(ct, q, st2)), z)), q, C512.round_constants(), st512(fold512(ct, q, st2))),
620 Equal.cong(List<&2, U32>, T512.State, t => C512.blocks(C512.lanes(t), q, C512.round_constants(), st512(st2)),
621 List.append(&2, U32, buf512(st2), List.append(&2, U32, m, z)), List.append(&2, U32, List.append(&2, U32, buf512(st2), m), z), L.append_assoc_rev(buf512(st2), m, z)),
622 fold512_inv(ct, q, st2, z))))
623
624law state512:
625 for +cs: List<&2, List<&2, U32>>
626 for +st: H.Sha512State
627 for +len: Nat
628 {H.fold(cs, H.Sha512H{st, len}) == H.Sha512H{fold512(cs, 64n, st), Nat.add(len, List.length(&2, U32, List.concat(&2, U32, cs)))} : H.Hasher}
629
630def state512(cs, st, len):
631 match cs:
632 case Nil{}:
633 Equal.cong(Nat, H.Hasher, t => H.Sha512H{st, t}, len, Nat.add(len, 0n),
634 Equal.sym(Nat, Nat.add(len, 0n), len, L.add_zero(len)))
635 case c <> ct:
636 +m = List.concat(&2, U32, ct)
637 %L.add_length(len, c, m) :
638 {H.fold(c <> ct, H.Sha512H{st, len}) == H.Sha512H{fold512(ct, 64n, H.step512(st, c, 64n)), _} : H.Hasher}
639 state512(ct, H.step512(st, c, 64n), Nat.add(len, List.length(&2, U32, c)))
640
641law finish512_eta:
642 for +st: H.Sha512State
643 for +len: Nat
644 for +q: Nat
645 {H.finish512(st, len, q) == C512.digest_bytes(C512.blocks(C512.lanes(List.append(&2, U32, buf512(st), C512.suffix(len))), q, C512.round_constants(), st512(st))) : List<&2, U32>}
646
647def finish512_eta(st, len, q):
648 match st:
649 case H.St512{s, buf}:
650 {==}
651
652
653law incremental512:
654 for +cs: List<&2, List<&2, U32>>
655 {H.digest(H.update_all(H.new_sha512(), cs)) == C512.digest_bytes(C512.blocks(C512.lanes(List.append(&2, U32, List.concat(&2, U32, cs), C512.suffix(List.length(&2, U32, List.concat(&2, U32, cs))))), 64n, C512.round_constants(), C512.initial())) : List<&2, U32>}
656
657def incremental512(cs):
658 +m = List.concat(&2, U32, cs)
659 +qs = fold512(cs, 64n, H.St512{C512.initial(), Nil{}})
660 %Equal.sym(H.Hasher, H.fold(cs, H.Sha512H{H.St512{C512.initial(), Nil{}}, 0n}), H.Sha512H{qs, List.length(&2, U32, m)},
661 state512(cs, H.St512{C512.initial(), Nil{}}, 0n)) :
662 {H.digest(_) == C512.digest_bytes(C512.blocks(C512.lanes(List.append(&2, U32, List.concat(&2, U32, cs), C512.suffix(List.length(&2, U32, List.concat(&2, U32, cs))))), 64n, C512.round_constants(), C512.initial())) : List<&2, U32>}
663 %Equal.sym(List<&2, U32>, H.finish512(qs, List.length(&2, U32, m), 64n), C512.digest_bytes(C512.blocks(C512.lanes(List.append(&2, U32, buf512(qs), C512.suffix(List.length(&2, U32, m)))), 64n, C512.round_constants(), st512(qs))),
664 finish512_eta(qs, List.length(&2, U32, m), 64n)) :
665 {_ == C512.digest_bytes(C512.blocks(C512.lanes(List.append(&2, U32, List.concat(&2, U32, cs), C512.suffix(List.length(&2, U32, List.concat(&2, U32, cs))))), 64n, C512.round_constants(), C512.initial())) : List<&2, U32>}
666 Equal.cong(T512.State, List<&2, U32>, t => C512.digest_bytes(t),
667 C512.blocks(C512.lanes(List.append(&2, U32, buf512(qs), C512.suffix(List.length(&2, U32, m)))), 64n, C512.round_constants(), st512(qs)), C512.blocks(C512.lanes(List.append(&2, U32, m, C512.suffix(List.length(&2, U32, m)))), 64n, C512.round_constants(), C512.initial()),
668 Equal.sym(T512.State, C512.blocks(C512.lanes(List.append(&2, U32, m, C512.suffix(List.length(&2, U32, m)))), 64n, C512.round_constants(), C512.initial()), C512.blocks(C512.lanes(List.append(&2, U32, buf512(qs), C512.suffix(List.length(&2, U32, m)))), 64n, C512.round_constants(), st512(qs)), fold512_inv(cs, 64n, H.St512{C512.initial(), Nil{}}, C512.suffix(List.length(&2, U32, m)))))
669
670
671
672def st3(st: H.Sha3State) -> TK.State:
673 match st:
674 case H.St3{s, b}:
675 s
676
677def buf3(st: H.Sha3State) -> List<&2, U32>:
678 match st:
679 case H.St3{s, b}:
680 b
681
682law absorb3_inv:
683 for +fuel: Nat
684 for +bytes: List<&2, U32>
685 for +q: Nat
686 for +s: TK.State
687 for +z: List<&2, U32>
688 {C3.absorb(C3.lanes(List.append(&2, U32, bytes, z)), q, s) == C3.absorb(C3.lanes(List.append(&2, U32, buf3(H.absorb3(fuel, H.read3_0(bytes), bytes, q, s)), z)), q, st3(H.absorb3(fuel, H.read3_0(bytes), bytes, q, s))) : TK.State}
689
690def absorb3_inv(fuel, bytes, q, s, z):
691 match fuel:
692 case 0n:
693 {==}
694 case 1n+p:
695 match bytes:
696 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> b129 <> b130 <> b131 <> b132 <> b133 <> b134 <> b135 <> rest:
697 absorb3_inv(p, rest, q, P.rounds(q, 0n, C3.inject(s, TK.W{C3.pack(b0, b1, b2, b3), C3.pack(b4, b5, b6, b7)}, TK.W{C3.pack(b8, b9, b10, b11), C3.pack(b12, b13, b14, b15)}, TK.W{C3.pack(b16, b17, b18, b19), C3.pack(b20, b21, b22, b23)}, TK.W{C3.pack(b24, b25, b26, b27), C3.pack(b28, b29, b30, b31)}, TK.W{C3.pack(b32, b33, b34, b35), C3.pack(b36, b37, b38, b39)}, TK.W{C3.pack(b40, b41, b42, b43), C3.pack(b44, b45, b46, b47)}, TK.W{C3.pack(b48, b49, b50, b51), C3.pack(b52, b53, b54, b55)}, TK.W{C3.pack(b56, b57, b58, b59), C3.pack(b60, b61, b62, b63)}, TK.W{C3.pack(b64, b65, b66, b67), C3.pack(b68, b69, b70, b71)}, TK.W{C3.pack(b72, b73, b74, b75), C3.pack(b76, b77, b78, b79)}, TK.W{C3.pack(b80, b81, b82, b83), C3.pack(b84, b85, b86, b87)}, TK.W{C3.pack(b88, b89, b90, b91), C3.pack(b92, b93, b94, b95)}, TK.W{C3.pack(b96, b97, b98, b99), C3.pack(b100, b101, b102, b103)}, TK.W{C3.pack(b104, b105, b106, b107), C3.pack(b108, b109, b110, b111)}, TK.W{C3.pack(b112, b113, b114, b115), C3.pack(b116, b117, b118, b119)}, TK.W{C3.pack(b120, b121, b122, b123), C3.pack(b124, b125, b126, b127)}, TK.W{C3.pack(b128, b129, b130, b131), C3.pack(b132, b133, b134, b135)})), z)
698 case Nil{}:
699 {==}
700 case b0 <> Nil{}:
701 {==}
702 case b0 <> b1 <> Nil{}:
703 {==}
704 case b0 <> b1 <> b2 <> Nil{}:
705 {==}
706 case b0 <> b1 <> b2 <> b3 <> Nil{}:
707 {==}
708 case b0 <> b1 <> b2 <> b3 <> b4 <> Nil{}:
709 {==}
710 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> Nil{}:
711 {==}
712 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> Nil{}:
713 {==}
714 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> Nil{}:
715 {==}
716 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> Nil{}:
717 {==}
718 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> Nil{}:
719 {==}
720 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> Nil{}:
721 {==}
722 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> Nil{}:
723 {==}
724 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> Nil{}:
725 {==}
726 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> Nil{}:
727 {==}
728 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> Nil{}:
729 {==}
730 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> Nil{}:
731 {==}
732 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> Nil{}:
733 {==}
734 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> Nil{}:
735 {==}
736 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> Nil{}:
737 {==}
738 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> Nil{}:
739 {==}
740 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> Nil{}:
741 {==}
742 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> Nil{}:
743 {==}
744 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> Nil{}:
745 {==}
746 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> Nil{}:
747 {==}
748 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> Nil{}:
749 {==}
750 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> Nil{}:
751 {==}
752 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> Nil{}:
753 {==}
754 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> Nil{}:
755 {==}
756 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> Nil{}:
757 {==}
758 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> Nil{}:
759 {==}
760 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> Nil{}:
761 {==}
762 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> Nil{}:
763 {==}
764 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> Nil{}:
765 {==}
766 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> Nil{}:
767 {==}
768 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> Nil{}:
769 {==}
770 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> Nil{}:
771 {==}
772 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> Nil{}:
773 {==}
774 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> Nil{}:
775 {==}
776 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> Nil{}:
777 {==}
778 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> Nil{}:
779 {==}
780 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> Nil{}:
781 {==}
782 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> Nil{}:
783 {==}
784 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> Nil{}:
785 {==}
786 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> Nil{}:
787 {==}
788 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> Nil{}:
789 {==}
790 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> Nil{}:
791 {==}
792 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> Nil{}:
793 {==}
794 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> Nil{}:
795 {==}
796 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> Nil{}:
797 {==}
798 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> Nil{}:
799 {==}
800 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> Nil{}:
801 {==}
802 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> Nil{}:
803 {==}
804 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> Nil{}:
805 {==}
806 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> Nil{}:
807 {==}
808 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> Nil{}:
809 {==}
810 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> Nil{}:
811 {==}
812 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> Nil{}:
813 {==}
814 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> Nil{}:
815 {==}
816 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> Nil{}:
817 {==}
818 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> Nil{}:
819 {==}
820 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> Nil{}:
821 {==}
822 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> Nil{}:
823 {==}
824 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> Nil{}:
825 {==}
826 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> Nil{}:
827 {==}
828 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> Nil{}:
829 {==}
830 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> Nil{}:
831 {==}
832 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> Nil{}:
833 {==}
834 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> Nil{}:
835 {==}
836 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> Nil{}:
837 {==}
838 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> Nil{}:
839 {==}
840 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> Nil{}:
841 {==}
842 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> Nil{}:
843 {==}
844 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> Nil{}:
845 {==}
846 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> Nil{}:
847 {==}
848 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> Nil{}:
849 {==}
850 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> Nil{}:
851 {==}
852 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> Nil{}:
853 {==}
854 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> Nil{}:
855 {==}
856 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> Nil{}:
857 {==}
858 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> Nil{}:
859 {==}
860 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> Nil{}:
861 {==}
862 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> Nil{}:
863 {==}
864 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> Nil{}:
865 {==}
866 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> Nil{}:
867 {==}
868 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> Nil{}:
869 {==}
870 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> Nil{}:
871 {==}
872 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> Nil{}:
873 {==}
874 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> Nil{}:
875 {==}
876 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> Nil{}:
877 {==}
878 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> Nil{}:
879 {==}
880 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> Nil{}:
881 {==}
882 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> Nil{}:
883 {==}
884 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> Nil{}:
885 {==}
886 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> Nil{}:
887 {==}
888 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> Nil{}:
889 {==}
890 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> Nil{}:
891 {==}
892 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> Nil{}:
893 {==}
894 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> Nil{}:
895 {==}
896 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> Nil{}:
897 {==}
898 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> Nil{}:
899 {==}
900 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> Nil{}:
901 {==}
902 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> Nil{}:
903 {==}
904 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> Nil{}:
905 {==}
906 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> Nil{}:
907 {==}
908 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> Nil{}:
909 {==}
910 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> Nil{}:
911 {==}
912 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> Nil{}:
913 {==}
914 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> Nil{}:
915 {==}
916 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> Nil{}:
917 {==}
918 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> Nil{}:
919 {==}
920 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> Nil{}:
921 {==}
922 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> Nil{}:
923 {==}
924 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> Nil{}:
925 {==}
926 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> Nil{}:
927 {==}
928 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> Nil{}:
929 {==}
930 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> Nil{}:
931 {==}
932 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> Nil{}:
933 {==}
934 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> Nil{}:
935 {==}
936 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> Nil{}:
937 {==}
938 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> Nil{}:
939 {==}
940 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> Nil{}:
941 {==}
942 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> Nil{}:
943 {==}
944 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> Nil{}:
945 {==}
946 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> Nil{}:
947 {==}
948 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> Nil{}:
949 {==}
950 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> Nil{}:
951 {==}
952 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> Nil{}:
953 {==}
954 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> Nil{}:
955 {==}
956 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> Nil{}:
957 {==}
958 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> b129 <> Nil{}:
959 {==}
960 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> b129 <> b130 <> Nil{}:
961 {==}
962 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> b129 <> b130 <> b131 <> Nil{}:
963 {==}
964 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> b129 <> b130 <> b131 <> b132 <> Nil{}:
965 {==}
966 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> b129 <> b130 <> b131 <> b132 <> b133 <> Nil{}:
967 {==}
968 case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> b16 <> b17 <> b18 <> b19 <> b20 <> b21 <> b22 <> b23 <> b24 <> b25 <> b26 <> b27 <> b28 <> b29 <> b30 <> b31 <> b32 <> b33 <> b34 <> b35 <> b36 <> b37 <> b38 <> b39 <> b40 <> b41 <> b42 <> b43 <> b44 <> b45 <> b46 <> b47 <> b48 <> b49 <> b50 <> b51 <> b52 <> b53 <> b54 <> b55 <> b56 <> b57 <> b58 <> b59 <> b60 <> b61 <> b62 <> b63 <> b64 <> b65 <> b66 <> b67 <> b68 <> b69 <> b70 <> b71 <> b72 <> b73 <> b74 <> b75 <> b76 <> b77 <> b78 <> b79 <> b80 <> b81 <> b82 <> b83 <> b84 <> b85 <> b86 <> b87 <> b88 <> b89 <> b90 <> b91 <> b92 <> b93 <> b94 <> b95 <> b96 <> b97 <> b98 <> b99 <> b100 <> b101 <> b102 <> b103 <> b104 <> b105 <> b106 <> b107 <> b108 <> b109 <> b110 <> b111 <> b112 <> b113 <> b114 <> b115 <> b116 <> b117 <> b118 <> b119 <> b120 <> b121 <> b122 <> b123 <> b124 <> b125 <> b126 <> b127 <> b128 <> b129 <> b130 <> b131 <> b132 <> b133 <> b134 <> Nil{}:
969 {==}
970
971law step3_inv:
972 for +st: H.Sha3State
973 for +xs: List<&2, U32>
974 for +q: Nat
975 for +z: List<&2, U32>
976 {C3.absorb(C3.lanes(List.append(&2, U32, List.append(&2, U32, buf3(st), xs), z)), q, st3(st)) == C3.absorb(C3.lanes(List.append(&2, U32, buf3(H.step3(st, xs, q)), z)), q, st3(H.step3(st, xs, q))) : TK.State}
977
978def step3_inv(st, xs, q, z):
979 match st:
980 case H.St3{s, buf}:
981 absorb3_inv(List.length(&2, U32, List.append(&2, U32, buf, xs)), List.append(&2, U32, buf, xs), q, s, z)
982
983
984def fold3(cs: List<&2, List<&2, U32>>, +q: Nat, st: H.Sha3State) -> H.Sha3State:
985 match cs:
986 case Nil{}:
987 st
988 case c <> ct:
989 fold3(ct, q, H.step3(st, c, q))
990
991law fold3_inv:
992 for +cs: List<&2, List<&2, U32>>
993 for +q: Nat
994 for +st: H.Sha3State
995 for +z: List<&2, U32>
996 {C3.absorb(C3.lanes(List.append(&2, U32, List.append(&2, U32, buf3(st), List.concat(&2, U32, cs)), z)), q, st3(st)) == C3.absorb(C3.lanes(List.append(&2, U32, buf3(fold3(cs, q, st)), z)), q, st3(fold3(cs, q, st))) : TK.State}
997
998def fold3_inv(cs, q, st, z):
999 match cs:
1000 case Nil{}:
1001 %L.append_nil(buf3(st)) :
1002 {C3.absorb(C3.lanes(List.append(&2, U32, List.append(&2, U32, buf3(st), Nil{}), z)), q, st3(st)) == C3.absorb(C3.lanes(List.append(&2, U32, _, z)), q, st3(st)) : TK.State}
1003 {==}
1004 case c <> ct:
1005 +st2 = H.step3(st, c, q)
1006 +m = List.concat(&2, U32, ct)
1007 Equal.trans(TK.State,
1008 C3.absorb(C3.lanes(List.append(&2, U32, List.append(&2, U32, buf3(st), List.append(&2, U32, c, m)), z)), q, st3(st)),
1009 C3.absorb(C3.lanes(List.append(&2, U32, List.append(&2, U32, buf3(st), c), List.append(&2, U32, m, z))), q, st3(st)),
1010 C3.absorb(C3.lanes(List.append(&2, U32, buf3(fold3(ct, q, st2)), z)), q, st3(fold3(ct, q, st2))),
1011 Equal.cong(List<&2, U32>, TK.State, t => C3.absorb(C3.lanes(t), q, st3(st)),
1012 List.append(&2, U32, List.append(&2, U32, buf3(st), List.append(&2, U32, c, m)), z), List.append(&2, U32, List.append(&2, U32, buf3(st), c), List.append(&2, U32, m, z)),
1013 Equal.trans(List<&2, U32>, List.append(&2, U32, List.append(&2, U32, buf3(st), List.append(&2, U32, c, m)), z), List.append(&2, U32, List.append(&2, U32, List.append(&2, U32, buf3(st), c), m), z), List.append(&2, U32, List.append(&2, U32, buf3(st), c), List.append(&2, U32, m, z)),
1014 Equal.cong(List<&2, U32>, List<&2, U32>, t => List.append(&2, U32, t, z),
1015 List.append(&2, U32, buf3(st), List.append(&2, U32, c, m)), List.append(&2, U32, List.append(&2, U32, buf3(st), c), m), L.append_assoc_rev(buf3(st), c, m)),
1016 L.append_assoc(List.append(&2, U32, buf3(st), c), m, z))),
1017 Equal.trans(TK.State, C3.absorb(C3.lanes(List.append(&2, U32, List.append(&2, U32, buf3(st), c), List.append(&2, U32, m, z))), q, st3(st)), C3.absorb(C3.lanes(List.append(&2, U32, buf3(st2), List.append(&2, U32, m, z))), q, st3(st2)), C3.absorb(C3.lanes(List.append(&2, U32, buf3(fold3(ct, q, st2)), z)), q, st3(fold3(ct, q, st2))),
1018 step3_inv(st, c, q, List.append(&2, U32, m, z)),
1019 Equal.trans(TK.State, C3.absorb(C3.lanes(List.append(&2, U32, buf3(st2), List.append(&2, U32, m, z))), q, st3(st2)), C3.absorb(C3.lanes(List.append(&2, U32, List.append(&2, U32, buf3(st2), m), z)), q, st3(st2)), C3.absorb(C3.lanes(List.append(&2, U32, buf3(fold3(ct, q, st2)), z)), q, st3(fold3(ct, q, st2))),
1020 Equal.cong(List<&2, U32>, TK.State, t => C3.absorb(C3.lanes(t), q, st3(st2)),
1021 List.append(&2, U32, buf3(st2), List.append(&2, U32, m, z)), List.append(&2, U32, List.append(&2, U32, buf3(st2), m), z), L.append_assoc_rev(buf3(st2), m, z)),
1022 fold3_inv(ct, q, st2, z))))
1023
1024law state3:
1025 for +cs: List<&2, List<&2, U32>>
1026 for +st: H.Sha3State
1027 for +len: Nat
1028 {H.fold(cs, H.Sha3H{st, len}) == H.Sha3H{fold3(cs, 24n, st), Nat.add(len, List.length(&2, U32, List.concat(&2, U32, cs)))} : H.Hasher}
1029
1030def state3(cs, st, len):
1031 match cs:
1032 case Nil{}:
1033 Equal.cong(Nat, H.Hasher, t => H.Sha3H{st, t}, len, Nat.add(len, 0n),
1034 Equal.sym(Nat, Nat.add(len, 0n), len, L.add_zero(len)))
1035 case c <> ct:
1036 +m = List.concat(&2, U32, ct)
1037 %L.add_length(len, c, m) :
1038 {H.fold(c <> ct, H.Sha3H{st, len}) == H.Sha3H{fold3(ct, 24n, H.step3(st, c, 24n)), _} : H.Hasher}
1039 state3(ct, H.step3(st, c, 24n), Nat.add(len, List.length(&2, U32, c)))
1040
1041law finish3_eta:
1042 for +st: H.Sha3State
1043 for +len: Nat
1044 for +q: Nat
1045 {H.finish3(st, len, q) == C3.digest_bytes(C3.absorb(C3.lanes(List.append(&2, U32, buf3(st), C3.suffix(len))), q, st3(st))) : List<&2, U32>}
1046
1047def finish3_eta(st, len, q):
1048 match st:
1049 case H.St3{s, buf}:
1050 {==}
1051
1052
1053law incremental3:
1054 for +cs: List<&2, List<&2, U32>>
1055 {H.digest(H.update_all(H.new_sha3_256(), cs)) == C3.digest_bytes(C3.absorb(C3.lanes(List.append(&2, U32, List.concat(&2, U32, cs), C3.suffix(List.length(&2, U32, List.concat(&2, U32, cs))))), 24n, C3.zero())) : List<&2, U32>}
1056
1057def incremental3(cs):
1058 +m = List.concat(&2, U32, cs)
1059 +qs = fold3(cs, 24n, H.St3{C3.zero(), Nil{}})
1060 %Equal.sym(H.Hasher, H.fold(cs, H.Sha3H{H.St3{C3.zero(), Nil{}}, 0n}), H.Sha3H{qs, List.length(&2, U32, m)},
1061 state3(cs, H.St3{C3.zero(), Nil{}}, 0n)) :
1062 {H.digest(_) == C3.digest_bytes(C3.absorb(C3.lanes(List.append(&2, U32, List.concat(&2, U32, cs), C3.suffix(List.length(&2, U32, List.concat(&2, U32, cs))))), 24n, C3.zero())) : List<&2, U32>}
1063 %Equal.sym(List<&2, U32>, H.finish3(qs, List.length(&2, U32, m), 24n), C3.digest_bytes(C3.absorb(C3.lanes(List.append(&2, U32, buf3(qs), C3.suffix(List.length(&2, U32, m)))), 24n, st3(qs))),
1064 finish3_eta(qs, List.length(&2, U32, m), 24n)) :
1065 {_ == C3.digest_bytes(C3.absorb(C3.lanes(List.append(&2, U32, List.concat(&2, U32, cs), C3.suffix(List.length(&2, U32, List.concat(&2, U32, cs))))), 24n, C3.zero())) : List<&2, U32>}
1066 Equal.cong(TK.State, List<&2, U32>, t => C3.digest_bytes(t),
1067 C3.absorb(C3.lanes(List.append(&2, U32, buf3(qs), C3.suffix(List.length(&2, U32, m)))), 24n, st3(qs)), C3.absorb(C3.lanes(List.append(&2, U32, m, C3.suffix(List.length(&2, U32, m)))), 24n, C3.zero()),
1068 Equal.sym(TK.State, C3.absorb(C3.lanes(List.append(&2, U32, m, C3.suffix(List.length(&2, U32, m)))), 24n, C3.zero()), C3.absorb(C3.lanes(List.append(&2, U32, buf3(qs), C3.suffix(List.length(&2, U32, m)))), 24n, st3(qs)), fold3_inv(cs, 24n, H.St3{C3.zero(), Nil{}}, C3.suffix(List.length(&2, U32, m)))))