1 pub const INVALID_VALUE: u8 = 255;
2 #[rustfmt::skip]
3 pub const STANDARD_ENCODE: &[u8; 64] = &[
4     65, // input 0 (0x0) => 'A' (0x41)
5     66, // input 1 (0x1) => 'B' (0x42)
6     67, // input 2 (0x2) => 'C' (0x43)
7     68, // input 3 (0x3) => 'D' (0x44)
8     69, // input 4 (0x4) => 'E' (0x45)
9     70, // input 5 (0x5) => 'F' (0x46)
10     71, // input 6 (0x6) => 'G' (0x47)
11     72, // input 7 (0x7) => 'H' (0x48)
12     73, // input 8 (0x8) => 'I' (0x49)
13     74, // input 9 (0x9) => 'J' (0x4A)
14     75, // input 10 (0xA) => 'K' (0x4B)
15     76, // input 11 (0xB) => 'L' (0x4C)
16     77, // input 12 (0xC) => 'M' (0x4D)
17     78, // input 13 (0xD) => 'N' (0x4E)
18     79, // input 14 (0xE) => 'O' (0x4F)
19     80, // input 15 (0xF) => 'P' (0x50)
20     81, // input 16 (0x10) => 'Q' (0x51)
21     82, // input 17 (0x11) => 'R' (0x52)
22     83, // input 18 (0x12) => 'S' (0x53)
23     84, // input 19 (0x13) => 'T' (0x54)
24     85, // input 20 (0x14) => 'U' (0x55)
25     86, // input 21 (0x15) => 'V' (0x56)
26     87, // input 22 (0x16) => 'W' (0x57)
27     88, // input 23 (0x17) => 'X' (0x58)
28     89, // input 24 (0x18) => 'Y' (0x59)
29     90, // input 25 (0x19) => 'Z' (0x5A)
30     97, // input 26 (0x1A) => 'a' (0x61)
31     98, // input 27 (0x1B) => 'b' (0x62)
32     99, // input 28 (0x1C) => 'c' (0x63)
33     100, // input 29 (0x1D) => 'd' (0x64)
34     101, // input 30 (0x1E) => 'e' (0x65)
35     102, // input 31 (0x1F) => 'f' (0x66)
36     103, // input 32 (0x20) => 'g' (0x67)
37     104, // input 33 (0x21) => 'h' (0x68)
38     105, // input 34 (0x22) => 'i' (0x69)
39     106, // input 35 (0x23) => 'j' (0x6A)
40     107, // input 36 (0x24) => 'k' (0x6B)
41     108, // input 37 (0x25) => 'l' (0x6C)
42     109, // input 38 (0x26) => 'm' (0x6D)
43     110, // input 39 (0x27) => 'n' (0x6E)
44     111, // input 40 (0x28) => 'o' (0x6F)
45     112, // input 41 (0x29) => 'p' (0x70)
46     113, // input 42 (0x2A) => 'q' (0x71)
47     114, // input 43 (0x2B) => 'r' (0x72)
48     115, // input 44 (0x2C) => 's' (0x73)
49     116, // input 45 (0x2D) => 't' (0x74)
50     117, // input 46 (0x2E) => 'u' (0x75)
51     118, // input 47 (0x2F) => 'v' (0x76)
52     119, // input 48 (0x30) => 'w' (0x77)
53     120, // input 49 (0x31) => 'x' (0x78)
54     121, // input 50 (0x32) => 'y' (0x79)
55     122, // input 51 (0x33) => 'z' (0x7A)
56     48, // input 52 (0x34) => '0' (0x30)
57     49, // input 53 (0x35) => '1' (0x31)
58     50, // input 54 (0x36) => '2' (0x32)
59     51, // input 55 (0x37) => '3' (0x33)
60     52, // input 56 (0x38) => '4' (0x34)
61     53, // input 57 (0x39) => '5' (0x35)
62     54, // input 58 (0x3A) => '6' (0x36)
63     55, // input 59 (0x3B) => '7' (0x37)
64     56, // input 60 (0x3C) => '8' (0x38)
65     57, // input 61 (0x3D) => '9' (0x39)
66     43, // input 62 (0x3E) => '+' (0x2B)
67     47, // input 63 (0x3F) => '/' (0x2F)
68 ];
69 #[rustfmt::skip]
70 pub const STANDARD_DECODE: &[u8; 256] = &[
71     INVALID_VALUE, // input 0 (0x0)
72     INVALID_VALUE, // input 1 (0x1)
73     INVALID_VALUE, // input 2 (0x2)
74     INVALID_VALUE, // input 3 (0x3)
75     INVALID_VALUE, // input 4 (0x4)
76     INVALID_VALUE, // input 5 (0x5)
77     INVALID_VALUE, // input 6 (0x6)
78     INVALID_VALUE, // input 7 (0x7)
79     INVALID_VALUE, // input 8 (0x8)
80     INVALID_VALUE, // input 9 (0x9)
81     INVALID_VALUE, // input 10 (0xA)
82     INVALID_VALUE, // input 11 (0xB)
83     INVALID_VALUE, // input 12 (0xC)
84     INVALID_VALUE, // input 13 (0xD)
85     INVALID_VALUE, // input 14 (0xE)
86     INVALID_VALUE, // input 15 (0xF)
87     INVALID_VALUE, // input 16 (0x10)
88     INVALID_VALUE, // input 17 (0x11)
89     INVALID_VALUE, // input 18 (0x12)
90     INVALID_VALUE, // input 19 (0x13)
91     INVALID_VALUE, // input 20 (0x14)
92     INVALID_VALUE, // input 21 (0x15)
93     INVALID_VALUE, // input 22 (0x16)
94     INVALID_VALUE, // input 23 (0x17)
95     INVALID_VALUE, // input 24 (0x18)
96     INVALID_VALUE, // input 25 (0x19)
97     INVALID_VALUE, // input 26 (0x1A)
98     INVALID_VALUE, // input 27 (0x1B)
99     INVALID_VALUE, // input 28 (0x1C)
100     INVALID_VALUE, // input 29 (0x1D)
101     INVALID_VALUE, // input 30 (0x1E)
102     INVALID_VALUE, // input 31 (0x1F)
103     INVALID_VALUE, // input 32 (0x20)
104     INVALID_VALUE, // input 33 (0x21)
105     INVALID_VALUE, // input 34 (0x22)
106     INVALID_VALUE, // input 35 (0x23)
107     INVALID_VALUE, // input 36 (0x24)
108     INVALID_VALUE, // input 37 (0x25)
109     INVALID_VALUE, // input 38 (0x26)
110     INVALID_VALUE, // input 39 (0x27)
111     INVALID_VALUE, // input 40 (0x28)
112     INVALID_VALUE, // input 41 (0x29)
113     INVALID_VALUE, // input 42 (0x2A)
114     62, // input 43 (0x2B char '+') => 62 (0x3E)
115     INVALID_VALUE, // input 44 (0x2C)
116     INVALID_VALUE, // input 45 (0x2D)
117     INVALID_VALUE, // input 46 (0x2E)
118     63, // input 47 (0x2F char '/') => 63 (0x3F)
119     52, // input 48 (0x30 char '0') => 52 (0x34)
120     53, // input 49 (0x31 char '1') => 53 (0x35)
121     54, // input 50 (0x32 char '2') => 54 (0x36)
122     55, // input 51 (0x33 char '3') => 55 (0x37)
123     56, // input 52 (0x34 char '4') => 56 (0x38)
124     57, // input 53 (0x35 char '5') => 57 (0x39)
125     58, // input 54 (0x36 char '6') => 58 (0x3A)
126     59, // input 55 (0x37 char '7') => 59 (0x3B)
127     60, // input 56 (0x38 char '8') => 60 (0x3C)
128     61, // input 57 (0x39 char '9') => 61 (0x3D)
129     INVALID_VALUE, // input 58 (0x3A)
130     INVALID_VALUE, // input 59 (0x3B)
131     INVALID_VALUE, // input 60 (0x3C)
132     INVALID_VALUE, // input 61 (0x3D)
133     INVALID_VALUE, // input 62 (0x3E)
134     INVALID_VALUE, // input 63 (0x3F)
135     INVALID_VALUE, // input 64 (0x40)
136     0, // input 65 (0x41 char 'A') => 0 (0x0)
137     1, // input 66 (0x42 char 'B') => 1 (0x1)
138     2, // input 67 (0x43 char 'C') => 2 (0x2)
139     3, // input 68 (0x44 char 'D') => 3 (0x3)
140     4, // input 69 (0x45 char 'E') => 4 (0x4)
141     5, // input 70 (0x46 char 'F') => 5 (0x5)
142     6, // input 71 (0x47 char 'G') => 6 (0x6)
143     7, // input 72 (0x48 char 'H') => 7 (0x7)
144     8, // input 73 (0x49 char 'I') => 8 (0x8)
145     9, // input 74 (0x4A char 'J') => 9 (0x9)
146     10, // input 75 (0x4B char 'K') => 10 (0xA)
147     11, // input 76 (0x4C char 'L') => 11 (0xB)
148     12, // input 77 (0x4D char 'M') => 12 (0xC)
149     13, // input 78 (0x4E char 'N') => 13 (0xD)
150     14, // input 79 (0x4F char 'O') => 14 (0xE)
151     15, // input 80 (0x50 char 'P') => 15 (0xF)
152     16, // input 81 (0x51 char 'Q') => 16 (0x10)
153     17, // input 82 (0x52 char 'R') => 17 (0x11)
154     18, // input 83 (0x53 char 'S') => 18 (0x12)
155     19, // input 84 (0x54 char 'T') => 19 (0x13)
156     20, // input 85 (0x55 char 'U') => 20 (0x14)
157     21, // input 86 (0x56 char 'V') => 21 (0x15)
158     22, // input 87 (0x57 char 'W') => 22 (0x16)
159     23, // input 88 (0x58 char 'X') => 23 (0x17)
160     24, // input 89 (0x59 char 'Y') => 24 (0x18)
161     25, // input 90 (0x5A char 'Z') => 25 (0x19)
162     INVALID_VALUE, // input 91 (0x5B)
163     INVALID_VALUE, // input 92 (0x5C)
164     INVALID_VALUE, // input 93 (0x5D)
165     INVALID_VALUE, // input 94 (0x5E)
166     INVALID_VALUE, // input 95 (0x5F)
167     INVALID_VALUE, // input 96 (0x60)
168     26, // input 97 (0x61 char 'a') => 26 (0x1A)
169     27, // input 98 (0x62 char 'b') => 27 (0x1B)
170     28, // input 99 (0x63 char 'c') => 28 (0x1C)
171     29, // input 100 (0x64 char 'd') => 29 (0x1D)
172     30, // input 101 (0x65 char 'e') => 30 (0x1E)
173     31, // input 102 (0x66 char 'f') => 31 (0x1F)
174     32, // input 103 (0x67 char 'g') => 32 (0x20)
175     33, // input 104 (0x68 char 'h') => 33 (0x21)
176     34, // input 105 (0x69 char 'i') => 34 (0x22)
177     35, // input 106 (0x6A char 'j') => 35 (0x23)
178     36, // input 107 (0x6B char 'k') => 36 (0x24)
179     37, // input 108 (0x6C char 'l') => 37 (0x25)
180     38, // input 109 (0x6D char 'm') => 38 (0x26)
181     39, // input 110 (0x6E char 'n') => 39 (0x27)
182     40, // input 111 (0x6F char 'o') => 40 (0x28)
183     41, // input 112 (0x70 char 'p') => 41 (0x29)
184     42, // input 113 (0x71 char 'q') => 42 (0x2A)
185     43, // input 114 (0x72 char 'r') => 43 (0x2B)
186     44, // input 115 (0x73 char 's') => 44 (0x2C)
187     45, // input 116 (0x74 char 't') => 45 (0x2D)
188     46, // input 117 (0x75 char 'u') => 46 (0x2E)
189     47, // input 118 (0x76 char 'v') => 47 (0x2F)
190     48, // input 119 (0x77 char 'w') => 48 (0x30)
191     49, // input 120 (0x78 char 'x') => 49 (0x31)
192     50, // input 121 (0x79 char 'y') => 50 (0x32)
193     51, // input 122 (0x7A char 'z') => 51 (0x33)
194     INVALID_VALUE, // input 123 (0x7B)
195     INVALID_VALUE, // input 124 (0x7C)
196     INVALID_VALUE, // input 125 (0x7D)
197     INVALID_VALUE, // input 126 (0x7E)
198     INVALID_VALUE, // input 127 (0x7F)
199     INVALID_VALUE, // input 128 (0x80)
200     INVALID_VALUE, // input 129 (0x81)
201     INVALID_VALUE, // input 130 (0x82)
202     INVALID_VALUE, // input 131 (0x83)
203     INVALID_VALUE, // input 132 (0x84)
204     INVALID_VALUE, // input 133 (0x85)
205     INVALID_VALUE, // input 134 (0x86)
206     INVALID_VALUE, // input 135 (0x87)
207     INVALID_VALUE, // input 136 (0x88)
208     INVALID_VALUE, // input 137 (0x89)
209     INVALID_VALUE, // input 138 (0x8A)
210     INVALID_VALUE, // input 139 (0x8B)
211     INVALID_VALUE, // input 140 (0x8C)
212     INVALID_VALUE, // input 141 (0x8D)
213     INVALID_VALUE, // input 142 (0x8E)
214     INVALID_VALUE, // input 143 (0x8F)
215     INVALID_VALUE, // input 144 (0x90)
216     INVALID_VALUE, // input 145 (0x91)
217     INVALID_VALUE, // input 146 (0x92)
218     INVALID_VALUE, // input 147 (0x93)
219     INVALID_VALUE, // input 148 (0x94)
220     INVALID_VALUE, // input 149 (0x95)
221     INVALID_VALUE, // input 150 (0x96)
222     INVALID_VALUE, // input 151 (0x97)
223     INVALID_VALUE, // input 152 (0x98)
224     INVALID_VALUE, // input 153 (0x99)
225     INVALID_VALUE, // input 154 (0x9A)
226     INVALID_VALUE, // input 155 (0x9B)
227     INVALID_VALUE, // input 156 (0x9C)
228     INVALID_VALUE, // input 157 (0x9D)
229     INVALID_VALUE, // input 158 (0x9E)
230     INVALID_VALUE, // input 159 (0x9F)
231     INVALID_VALUE, // input 160 (0xA0)
232     INVALID_VALUE, // input 161 (0xA1)
233     INVALID_VALUE, // input 162 (0xA2)
234     INVALID_VALUE, // input 163 (0xA3)
235     INVALID_VALUE, // input 164 (0xA4)
236     INVALID_VALUE, // input 165 (0xA5)
237     INVALID_VALUE, // input 166 (0xA6)
238     INVALID_VALUE, // input 167 (0xA7)
239     INVALID_VALUE, // input 168 (0xA8)
240     INVALID_VALUE, // input 169 (0xA9)
241     INVALID_VALUE, // input 170 (0xAA)
242     INVALID_VALUE, // input 171 (0xAB)
243     INVALID_VALUE, // input 172 (0xAC)
244     INVALID_VALUE, // input 173 (0xAD)
245     INVALID_VALUE, // input 174 (0xAE)
246     INVALID_VALUE, // input 175 (0xAF)
247     INVALID_VALUE, // input 176 (0xB0)
248     INVALID_VALUE, // input 177 (0xB1)
249     INVALID_VALUE, // input 178 (0xB2)
250     INVALID_VALUE, // input 179 (0xB3)
251     INVALID_VALUE, // input 180 (0xB4)
252     INVALID_VALUE, // input 181 (0xB5)
253     INVALID_VALUE, // input 182 (0xB6)
254     INVALID_VALUE, // input 183 (0xB7)
255     INVALID_VALUE, // input 184 (0xB8)
256     INVALID_VALUE, // input 185 (0xB9)
257     INVALID_VALUE, // input 186 (0xBA)
258     INVALID_VALUE, // input 187 (0xBB)
259     INVALID_VALUE, // input 188 (0xBC)
260     INVALID_VALUE, // input 189 (0xBD)
261     INVALID_VALUE, // input 190 (0xBE)
262     INVALID_VALUE, // input 191 (0xBF)
263     INVALID_VALUE, // input 192 (0xC0)
264     INVALID_VALUE, // input 193 (0xC1)
265     INVALID_VALUE, // input 194 (0xC2)
266     INVALID_VALUE, // input 195 (0xC3)
267     INVALID_VALUE, // input 196 (0xC4)
268     INVALID_VALUE, // input 197 (0xC5)
269     INVALID_VALUE, // input 198 (0xC6)
270     INVALID_VALUE, // input 199 (0xC7)
271     INVALID_VALUE, // input 200 (0xC8)
272     INVALID_VALUE, // input 201 (0xC9)
273     INVALID_VALUE, // input 202 (0xCA)
274     INVALID_VALUE, // input 203 (0xCB)
275     INVALID_VALUE, // input 204 (0xCC)
276     INVALID_VALUE, // input 205 (0xCD)
277     INVALID_VALUE, // input 206 (0xCE)
278     INVALID_VALUE, // input 207 (0xCF)
279     INVALID_VALUE, // input 208 (0xD0)
280     INVALID_VALUE, // input 209 (0xD1)
281     INVALID_VALUE, // input 210 (0xD2)
282     INVALID_VALUE, // input 211 (0xD3)
283     INVALID_VALUE, // input 212 (0xD4)
284     INVALID_VALUE, // input 213 (0xD5)
285     INVALID_VALUE, // input 214 (0xD6)
286     INVALID_VALUE, // input 215 (0xD7)
287     INVALID_VALUE, // input 216 (0xD8)
288     INVALID_VALUE, // input 217 (0xD9)
289     INVALID_VALUE, // input 218 (0xDA)
290     INVALID_VALUE, // input 219 (0xDB)
291     INVALID_VALUE, // input 220 (0xDC)
292     INVALID_VALUE, // input 221 (0xDD)
293     INVALID_VALUE, // input 222 (0xDE)
294     INVALID_VALUE, // input 223 (0xDF)
295     INVALID_VALUE, // input 224 (0xE0)
296     INVALID_VALUE, // input 225 (0xE1)
297     INVALID_VALUE, // input 226 (0xE2)
298     INVALID_VALUE, // input 227 (0xE3)
299     INVALID_VALUE, // input 228 (0xE4)
300     INVALID_VALUE, // input 229 (0xE5)
301     INVALID_VALUE, // input 230 (0xE6)
302     INVALID_VALUE, // input 231 (0xE7)
303     INVALID_VALUE, // input 232 (0xE8)
304     INVALID_VALUE, // input 233 (0xE9)
305     INVALID_VALUE, // input 234 (0xEA)
306     INVALID_VALUE, // input 235 (0xEB)
307     INVALID_VALUE, // input 236 (0xEC)
308     INVALID_VALUE, // input 237 (0xED)
309     INVALID_VALUE, // input 238 (0xEE)
310     INVALID_VALUE, // input 239 (0xEF)
311     INVALID_VALUE, // input 240 (0xF0)
312     INVALID_VALUE, // input 241 (0xF1)
313     INVALID_VALUE, // input 242 (0xF2)
314     INVALID_VALUE, // input 243 (0xF3)
315     INVALID_VALUE, // input 244 (0xF4)
316     INVALID_VALUE, // input 245 (0xF5)
317     INVALID_VALUE, // input 246 (0xF6)
318     INVALID_VALUE, // input 247 (0xF7)
319     INVALID_VALUE, // input 248 (0xF8)
320     INVALID_VALUE, // input 249 (0xF9)
321     INVALID_VALUE, // input 250 (0xFA)
322     INVALID_VALUE, // input 251 (0xFB)
323     INVALID_VALUE, // input 252 (0xFC)
324     INVALID_VALUE, // input 253 (0xFD)
325     INVALID_VALUE, // input 254 (0xFE)
326     INVALID_VALUE, // input 255 (0xFF)
327 ];
328 #[rustfmt::skip]
329 pub const URL_SAFE_ENCODE: &[u8; 64] = &[
330     65, // input 0 (0x0) => 'A' (0x41)
331     66, // input 1 (0x1) => 'B' (0x42)
332     67, // input 2 (0x2) => 'C' (0x43)
333     68, // input 3 (0x3) => 'D' (0x44)
334     69, // input 4 (0x4) => 'E' (0x45)
335     70, // input 5 (0x5) => 'F' (0x46)
336     71, // input 6 (0x6) => 'G' (0x47)
337     72, // input 7 (0x7) => 'H' (0x48)
338     73, // input 8 (0x8) => 'I' (0x49)
339     74, // input 9 (0x9) => 'J' (0x4A)
340     75, // input 10 (0xA) => 'K' (0x4B)
341     76, // input 11 (0xB) => 'L' (0x4C)
342     77, // input 12 (0xC) => 'M' (0x4D)
343     78, // input 13 (0xD) => 'N' (0x4E)
344     79, // input 14 (0xE) => 'O' (0x4F)
345     80, // input 15 (0xF) => 'P' (0x50)
346     81, // input 16 (0x10) => 'Q' (0x51)
347     82, // input 17 (0x11) => 'R' (0x52)
348     83, // input 18 (0x12) => 'S' (0x53)
349     84, // input 19 (0x13) => 'T' (0x54)
350     85, // input 20 (0x14) => 'U' (0x55)
351     86, // input 21 (0x15) => 'V' (0x56)
352     87, // input 22 (0x16) => 'W' (0x57)
353     88, // input 23 (0x17) => 'X' (0x58)
354     89, // input 24 (0x18) => 'Y' (0x59)
355     90, // input 25 (0x19) => 'Z' (0x5A)
356     97, // input 26 (0x1A) => 'a' (0x61)
357     98, // input 27 (0x1B) => 'b' (0x62)
358     99, // input 28 (0x1C) => 'c' (0x63)
359     100, // input 29 (0x1D) => 'd' (0x64)
360     101, // input 30 (0x1E) => 'e' (0x65)
361     102, // input 31 (0x1F) => 'f' (0x66)
362     103, // input 32 (0x20) => 'g' (0x67)
363     104, // input 33 (0x21) => 'h' (0x68)
364     105, // input 34 (0x22) => 'i' (0x69)
365     106, // input 35 (0x23) => 'j' (0x6A)
366     107, // input 36 (0x24) => 'k' (0x6B)
367     108, // input 37 (0x25) => 'l' (0x6C)
368     109, // input 38 (0x26) => 'm' (0x6D)
369     110, // input 39 (0x27) => 'n' (0x6E)
370     111, // input 40 (0x28) => 'o' (0x6F)
371     112, // input 41 (0x29) => 'p' (0x70)
372     113, // input 42 (0x2A) => 'q' (0x71)
373     114, // input 43 (0x2B) => 'r' (0x72)
374     115, // input 44 (0x2C) => 's' (0x73)
375     116, // input 45 (0x2D) => 't' (0x74)
376     117, // input 46 (0x2E) => 'u' (0x75)
377     118, // input 47 (0x2F) => 'v' (0x76)
378     119, // input 48 (0x30) => 'w' (0x77)
379     120, // input 49 (0x31) => 'x' (0x78)
380     121, // input 50 (0x32) => 'y' (0x79)
381     122, // input 51 (0x33) => 'z' (0x7A)
382     48, // input 52 (0x34) => '0' (0x30)
383     49, // input 53 (0x35) => '1' (0x31)
384     50, // input 54 (0x36) => '2' (0x32)
385     51, // input 55 (0x37) => '3' (0x33)
386     52, // input 56 (0x38) => '4' (0x34)
387     53, // input 57 (0x39) => '5' (0x35)
388     54, // input 58 (0x3A) => '6' (0x36)
389     55, // input 59 (0x3B) => '7' (0x37)
390     56, // input 60 (0x3C) => '8' (0x38)
391     57, // input 61 (0x3D) => '9' (0x39)
392     45, // input 62 (0x3E) => '-' (0x2D)
393     95, // input 63 (0x3F) => '_' (0x5F)
394 ];
395 #[rustfmt::skip]
396 pub const URL_SAFE_DECODE: &[u8; 256] = &[
397     INVALID_VALUE, // input 0 (0x0)
398     INVALID_VALUE, // input 1 (0x1)
399     INVALID_VALUE, // input 2 (0x2)
400     INVALID_VALUE, // input 3 (0x3)
401     INVALID_VALUE, // input 4 (0x4)
402     INVALID_VALUE, // input 5 (0x5)
403     INVALID_VALUE, // input 6 (0x6)
404     INVALID_VALUE, // input 7 (0x7)
405     INVALID_VALUE, // input 8 (0x8)
406     INVALID_VALUE, // input 9 (0x9)
407     INVALID_VALUE, // input 10 (0xA)
408     INVALID_VALUE, // input 11 (0xB)
409     INVALID_VALUE, // input 12 (0xC)
410     INVALID_VALUE, // input 13 (0xD)
411     INVALID_VALUE, // input 14 (0xE)
412     INVALID_VALUE, // input 15 (0xF)
413     INVALID_VALUE, // input 16 (0x10)
414     INVALID_VALUE, // input 17 (0x11)
415     INVALID_VALUE, // input 18 (0x12)
416     INVALID_VALUE, // input 19 (0x13)
417     INVALID_VALUE, // input 20 (0x14)
418     INVALID_VALUE, // input 21 (0x15)
419     INVALID_VALUE, // input 22 (0x16)
420     INVALID_VALUE, // input 23 (0x17)
421     INVALID_VALUE, // input 24 (0x18)
422     INVALID_VALUE, // input 25 (0x19)
423     INVALID_VALUE, // input 26 (0x1A)
424     INVALID_VALUE, // input 27 (0x1B)
425     INVALID_VALUE, // input 28 (0x1C)
426     INVALID_VALUE, // input 29 (0x1D)
427     INVALID_VALUE, // input 30 (0x1E)
428     INVALID_VALUE, // input 31 (0x1F)
429     INVALID_VALUE, // input 32 (0x20)
430     INVALID_VALUE, // input 33 (0x21)
431     INVALID_VALUE, // input 34 (0x22)
432     INVALID_VALUE, // input 35 (0x23)
433     INVALID_VALUE, // input 36 (0x24)
434     INVALID_VALUE, // input 37 (0x25)
435     INVALID_VALUE, // input 38 (0x26)
436     INVALID_VALUE, // input 39 (0x27)
437     INVALID_VALUE, // input 40 (0x28)
438     INVALID_VALUE, // input 41 (0x29)
439     INVALID_VALUE, // input 42 (0x2A)
440     INVALID_VALUE, // input 43 (0x2B)
441     INVALID_VALUE, // input 44 (0x2C)
442     62, // input 45 (0x2D char '-') => 62 (0x3E)
443     INVALID_VALUE, // input 46 (0x2E)
444     INVALID_VALUE, // input 47 (0x2F)
445     52, // input 48 (0x30 char '0') => 52 (0x34)
446     53, // input 49 (0x31 char '1') => 53 (0x35)
447     54, // input 50 (0x32 char '2') => 54 (0x36)
448     55, // input 51 (0x33 char '3') => 55 (0x37)
449     56, // input 52 (0x34 char '4') => 56 (0x38)
450     57, // input 53 (0x35 char '5') => 57 (0x39)
451     58, // input 54 (0x36 char '6') => 58 (0x3A)
452     59, // input 55 (0x37 char '7') => 59 (0x3B)
453     60, // input 56 (0x38 char '8') => 60 (0x3C)
454     61, // input 57 (0x39 char '9') => 61 (0x3D)
455     INVALID_VALUE, // input 58 (0x3A)
456     INVALID_VALUE, // input 59 (0x3B)
457     INVALID_VALUE, // input 60 (0x3C)
458     INVALID_VALUE, // input 61 (0x3D)
459     INVALID_VALUE, // input 62 (0x3E)
460     INVALID_VALUE, // input 63 (0x3F)
461     INVALID_VALUE, // input 64 (0x40)
462     0, // input 65 (0x41 char 'A') => 0 (0x0)
463     1, // input 66 (0x42 char 'B') => 1 (0x1)
464     2, // input 67 (0x43 char 'C') => 2 (0x2)
465     3, // input 68 (0x44 char 'D') => 3 (0x3)
466     4, // input 69 (0x45 char 'E') => 4 (0x4)
467     5, // input 70 (0x46 char 'F') => 5 (0x5)
468     6, // input 71 (0x47 char 'G') => 6 (0x6)
469     7, // input 72 (0x48 char 'H') => 7 (0x7)
470     8, // input 73 (0x49 char 'I') => 8 (0x8)
471     9, // input 74 (0x4A char 'J') => 9 (0x9)
472     10, // input 75 (0x4B char 'K') => 10 (0xA)
473     11, // input 76 (0x4C char 'L') => 11 (0xB)
474     12, // input 77 (0x4D char 'M') => 12 (0xC)
475     13, // input 78 (0x4E char 'N') => 13 (0xD)
476     14, // input 79 (0x4F char 'O') => 14 (0xE)
477     15, // input 80 (0x50 char 'P') => 15 (0xF)
478     16, // input 81 (0x51 char 'Q') => 16 (0x10)
479     17, // input 82 (0x52 char 'R') => 17 (0x11)
480     18, // input 83 (0x53 char 'S') => 18 (0x12)
481     19, // input 84 (0x54 char 'T') => 19 (0x13)
482     20, // input 85 (0x55 char 'U') => 20 (0x14)
483     21, // input 86 (0x56 char 'V') => 21 (0x15)
484     22, // input 87 (0x57 char 'W') => 22 (0x16)
485     23, // input 88 (0x58 char 'X') => 23 (0x17)
486     24, // input 89 (0x59 char 'Y') => 24 (0x18)
487     25, // input 90 (0x5A char 'Z') => 25 (0x19)
488     INVALID_VALUE, // input 91 (0x5B)
489     INVALID_VALUE, // input 92 (0x5C)
490     INVALID_VALUE, // input 93 (0x5D)
491     INVALID_VALUE, // input 94 (0x5E)
492     63, // input 95 (0x5F char '_') => 63 (0x3F)
493     INVALID_VALUE, // input 96 (0x60)
494     26, // input 97 (0x61 char 'a') => 26 (0x1A)
495     27, // input 98 (0x62 char 'b') => 27 (0x1B)
496     28, // input 99 (0x63 char 'c') => 28 (0x1C)
497     29, // input 100 (0x64 char 'd') => 29 (0x1D)
498     30, // input 101 (0x65 char 'e') => 30 (0x1E)
499     31, // input 102 (0x66 char 'f') => 31 (0x1F)
500     32, // input 103 (0x67 char 'g') => 32 (0x20)
501     33, // input 104 (0x68 char 'h') => 33 (0x21)
502     34, // input 105 (0x69 char 'i') => 34 (0x22)
503     35, // input 106 (0x6A char 'j') => 35 (0x23)
504     36, // input 107 (0x6B char 'k') => 36 (0x24)
505     37, // input 108 (0x6C char 'l') => 37 (0x25)
506     38, // input 109 (0x6D char 'm') => 38 (0x26)
507     39, // input 110 (0x6E char 'n') => 39 (0x27)
508     40, // input 111 (0x6F char 'o') => 40 (0x28)
509     41, // input 112 (0x70 char 'p') => 41 (0x29)
510     42, // input 113 (0x71 char 'q') => 42 (0x2A)
511     43, // input 114 (0x72 char 'r') => 43 (0x2B)
512     44, // input 115 (0x73 char 's') => 44 (0x2C)
513     45, // input 116 (0x74 char 't') => 45 (0x2D)
514     46, // input 117 (0x75 char 'u') => 46 (0x2E)
515     47, // input 118 (0x76 char 'v') => 47 (0x2F)
516     48, // input 119 (0x77 char 'w') => 48 (0x30)
517     49, // input 120 (0x78 char 'x') => 49 (0x31)
518     50, // input 121 (0x79 char 'y') => 50 (0x32)
519     51, // input 122 (0x7A char 'z') => 51 (0x33)
520     INVALID_VALUE, // input 123 (0x7B)
521     INVALID_VALUE, // input 124 (0x7C)
522     INVALID_VALUE, // input 125 (0x7D)
523     INVALID_VALUE, // input 126 (0x7E)
524     INVALID_VALUE, // input 127 (0x7F)
525     INVALID_VALUE, // input 128 (0x80)
526     INVALID_VALUE, // input 129 (0x81)
527     INVALID_VALUE, // input 130 (0x82)
528     INVALID_VALUE, // input 131 (0x83)
529     INVALID_VALUE, // input 132 (0x84)
530     INVALID_VALUE, // input 133 (0x85)
531     INVALID_VALUE, // input 134 (0x86)
532     INVALID_VALUE, // input 135 (0x87)
533     INVALID_VALUE, // input 136 (0x88)
534     INVALID_VALUE, // input 137 (0x89)
535     INVALID_VALUE, // input 138 (0x8A)
536     INVALID_VALUE, // input 139 (0x8B)
537     INVALID_VALUE, // input 140 (0x8C)
538     INVALID_VALUE, // input 141 (0x8D)
539     INVALID_VALUE, // input 142 (0x8E)
540     INVALID_VALUE, // input 143 (0x8F)
541     INVALID_VALUE, // input 144 (0x90)
542     INVALID_VALUE, // input 145 (0x91)
543     INVALID_VALUE, // input 146 (0x92)
544     INVALID_VALUE, // input 147 (0x93)
545     INVALID_VALUE, // input 148 (0x94)
546     INVALID_VALUE, // input 149 (0x95)
547     INVALID_VALUE, // input 150 (0x96)
548     INVALID_VALUE, // input 151 (0x97)
549     INVALID_VALUE, // input 152 (0x98)
550     INVALID_VALUE, // input 153 (0x99)
551     INVALID_VALUE, // input 154 (0x9A)
552     INVALID_VALUE, // input 155 (0x9B)
553     INVALID_VALUE, // input 156 (0x9C)
554     INVALID_VALUE, // input 157 (0x9D)
555     INVALID_VALUE, // input 158 (0x9E)
556     INVALID_VALUE, // input 159 (0x9F)
557     INVALID_VALUE, // input 160 (0xA0)
558     INVALID_VALUE, // input 161 (0xA1)
559     INVALID_VALUE, // input 162 (0xA2)
560     INVALID_VALUE, // input 163 (0xA3)
561     INVALID_VALUE, // input 164 (0xA4)
562     INVALID_VALUE, // input 165 (0xA5)
563     INVALID_VALUE, // input 166 (0xA6)
564     INVALID_VALUE, // input 167 (0xA7)
565     INVALID_VALUE, // input 168 (0xA8)
566     INVALID_VALUE, // input 169 (0xA9)
567     INVALID_VALUE, // input 170 (0xAA)
568     INVALID_VALUE, // input 171 (0xAB)
569     INVALID_VALUE, // input 172 (0xAC)
570     INVALID_VALUE, // input 173 (0xAD)
571     INVALID_VALUE, // input 174 (0xAE)
572     INVALID_VALUE, // input 175 (0xAF)
573     INVALID_VALUE, // input 176 (0xB0)
574     INVALID_VALUE, // input 177 (0xB1)
575     INVALID_VALUE, // input 178 (0xB2)
576     INVALID_VALUE, // input 179 (0xB3)
577     INVALID_VALUE, // input 180 (0xB4)
578     INVALID_VALUE, // input 181 (0xB5)
579     INVALID_VALUE, // input 182 (0xB6)
580     INVALID_VALUE, // input 183 (0xB7)
581     INVALID_VALUE, // input 184 (0xB8)
582     INVALID_VALUE, // input 185 (0xB9)
583     INVALID_VALUE, // input 186 (0xBA)
584     INVALID_VALUE, // input 187 (0xBB)
585     INVALID_VALUE, // input 188 (0xBC)
586     INVALID_VALUE, // input 189 (0xBD)
587     INVALID_VALUE, // input 190 (0xBE)
588     INVALID_VALUE, // input 191 (0xBF)
589     INVALID_VALUE, // input 192 (0xC0)
590     INVALID_VALUE, // input 193 (0xC1)
591     INVALID_VALUE, // input 194 (0xC2)
592     INVALID_VALUE, // input 195 (0xC3)
593     INVALID_VALUE, // input 196 (0xC4)
594     INVALID_VALUE, // input 197 (0xC5)
595     INVALID_VALUE, // input 198 (0xC6)
596     INVALID_VALUE, // input 199 (0xC7)
597     INVALID_VALUE, // input 200 (0xC8)
598     INVALID_VALUE, // input 201 (0xC9)
599     INVALID_VALUE, // input 202 (0xCA)
600     INVALID_VALUE, // input 203 (0xCB)
601     INVALID_VALUE, // input 204 (0xCC)
602     INVALID_VALUE, // input 205 (0xCD)
603     INVALID_VALUE, // input 206 (0xCE)
604     INVALID_VALUE, // input 207 (0xCF)
605     INVALID_VALUE, // input 208 (0xD0)
606     INVALID_VALUE, // input 209 (0xD1)
607     INVALID_VALUE, // input 210 (0xD2)
608     INVALID_VALUE, // input 211 (0xD3)
609     INVALID_VALUE, // input 212 (0xD4)
610     INVALID_VALUE, // input 213 (0xD5)
611     INVALID_VALUE, // input 214 (0xD6)
612     INVALID_VALUE, // input 215 (0xD7)
613     INVALID_VALUE, // input 216 (0xD8)
614     INVALID_VALUE, // input 217 (0xD9)
615     INVALID_VALUE, // input 218 (0xDA)
616     INVALID_VALUE, // input 219 (0xDB)
617     INVALID_VALUE, // input 220 (0xDC)
618     INVALID_VALUE, // input 221 (0xDD)
619     INVALID_VALUE, // input 222 (0xDE)
620     INVALID_VALUE, // input 223 (0xDF)
621     INVALID_VALUE, // input 224 (0xE0)
622     INVALID_VALUE, // input 225 (0xE1)
623     INVALID_VALUE, // input 226 (0xE2)
624     INVALID_VALUE, // input 227 (0xE3)
625     INVALID_VALUE, // input 228 (0xE4)
626     INVALID_VALUE, // input 229 (0xE5)
627     INVALID_VALUE, // input 230 (0xE6)
628     INVALID_VALUE, // input 231 (0xE7)
629     INVALID_VALUE, // input 232 (0xE8)
630     INVALID_VALUE, // input 233 (0xE9)
631     INVALID_VALUE, // input 234 (0xEA)
632     INVALID_VALUE, // input 235 (0xEB)
633     INVALID_VALUE, // input 236 (0xEC)
634     INVALID_VALUE, // input 237 (0xED)
635     INVALID_VALUE, // input 238 (0xEE)
636     INVALID_VALUE, // input 239 (0xEF)
637     INVALID_VALUE, // input 240 (0xF0)
638     INVALID_VALUE, // input 241 (0xF1)
639     INVALID_VALUE, // input 242 (0xF2)
640     INVALID_VALUE, // input 243 (0xF3)
641     INVALID_VALUE, // input 244 (0xF4)
642     INVALID_VALUE, // input 245 (0xF5)
643     INVALID_VALUE, // input 246 (0xF6)
644     INVALID_VALUE, // input 247 (0xF7)
645     INVALID_VALUE, // input 248 (0xF8)
646     INVALID_VALUE, // input 249 (0xF9)
647     INVALID_VALUE, // input 250 (0xFA)
648     INVALID_VALUE, // input 251 (0xFB)
649     INVALID_VALUE, // input 252 (0xFC)
650     INVALID_VALUE, // input 253 (0xFD)
651     INVALID_VALUE, // input 254 (0xFE)
652     INVALID_VALUE, // input 255 (0xFF)
653 ];
654 #[rustfmt::skip]
655 pub const CRYPT_ENCODE: &[u8; 64] = &[
656     46, // input 0 (0x0) => '.' (0x2E)
657     47, // input 1 (0x1) => '/' (0x2F)
658     48, // input 2 (0x2) => '0' (0x30)
659     49, // input 3 (0x3) => '1' (0x31)
660     50, // input 4 (0x4) => '2' (0x32)
661     51, // input 5 (0x5) => '3' (0x33)
662     52, // input 6 (0x6) => '4' (0x34)
663     53, // input 7 (0x7) => '5' (0x35)
664     54, // input 8 (0x8) => '6' (0x36)
665     55, // input 9 (0x9) => '7' (0x37)
666     56, // input 10 (0xA) => '8' (0x38)
667     57, // input 11 (0xB) => '9' (0x39)
668     65, // input 12 (0xC) => 'A' (0x41)
669     66, // input 13 (0xD) => 'B' (0x42)
670     67, // input 14 (0xE) => 'C' (0x43)
671     68, // input 15 (0xF) => 'D' (0x44)
672     69, // input 16 (0x10) => 'E' (0x45)
673     70, // input 17 (0x11) => 'F' (0x46)
674     71, // input 18 (0x12) => 'G' (0x47)
675     72, // input 19 (0x13) => 'H' (0x48)
676     73, // input 20 (0x14) => 'I' (0x49)
677     74, // input 21 (0x15) => 'J' (0x4A)
678     75, // input 22 (0x16) => 'K' (0x4B)
679     76, // input 23 (0x17) => 'L' (0x4C)
680     77, // input 24 (0x18) => 'M' (0x4D)
681     78, // input 25 (0x19) => 'N' (0x4E)
682     79, // input 26 (0x1A) => 'O' (0x4F)
683     80, // input 27 (0x1B) => 'P' (0x50)
684     81, // input 28 (0x1C) => 'Q' (0x51)
685     82, // input 29 (0x1D) => 'R' (0x52)
686     83, // input 30 (0x1E) => 'S' (0x53)
687     84, // input 31 (0x1F) => 'T' (0x54)
688     85, // input 32 (0x20) => 'U' (0x55)
689     86, // input 33 (0x21) => 'V' (0x56)
690     87, // input 34 (0x22) => 'W' (0x57)
691     88, // input 35 (0x23) => 'X' (0x58)
692     89, // input 36 (0x24) => 'Y' (0x59)
693     90, // input 37 (0x25) => 'Z' (0x5A)
694     97, // input 38 (0x26) => 'a' (0x61)
695     98, // input 39 (0x27) => 'b' (0x62)
696     99, // input 40 (0x28) => 'c' (0x63)
697     100, // input 41 (0x29) => 'd' (0x64)
698     101, // input 42 (0x2A) => 'e' (0x65)
699     102, // input 43 (0x2B) => 'f' (0x66)
700     103, // input 44 (0x2C) => 'g' (0x67)
701     104, // input 45 (0x2D) => 'h' (0x68)
702     105, // input 46 (0x2E) => 'i' (0x69)
703     106, // input 47 (0x2F) => 'j' (0x6A)
704     107, // input 48 (0x30) => 'k' (0x6B)
705     108, // input 49 (0x31) => 'l' (0x6C)
706     109, // input 50 (0x32) => 'm' (0x6D)
707     110, // input 51 (0x33) => 'n' (0x6E)
708     111, // input 52 (0x34) => 'o' (0x6F)
709     112, // input 53 (0x35) => 'p' (0x70)
710     113, // input 54 (0x36) => 'q' (0x71)
711     114, // input 55 (0x37) => 'r' (0x72)
712     115, // input 56 (0x38) => 's' (0x73)
713     116, // input 57 (0x39) => 't' (0x74)
714     117, // input 58 (0x3A) => 'u' (0x75)
715     118, // input 59 (0x3B) => 'v' (0x76)
716     119, // input 60 (0x3C) => 'w' (0x77)
717     120, // input 61 (0x3D) => 'x' (0x78)
718     121, // input 62 (0x3E) => 'y' (0x79)
719     122, // input 63 (0x3F) => 'z' (0x7A)
720 ];
721 #[rustfmt::skip]
722 pub const CRYPT_DECODE: &[u8; 256] = &[
723     INVALID_VALUE, // input 0 (0x0)
724     INVALID_VALUE, // input 1 (0x1)
725     INVALID_VALUE, // input 2 (0x2)
726     INVALID_VALUE, // input 3 (0x3)
727     INVALID_VALUE, // input 4 (0x4)
728     INVALID_VALUE, // input 5 (0x5)
729     INVALID_VALUE, // input 6 (0x6)
730     INVALID_VALUE, // input 7 (0x7)
731     INVALID_VALUE, // input 8 (0x8)
732     INVALID_VALUE, // input 9 (0x9)
733     INVALID_VALUE, // input 10 (0xA)
734     INVALID_VALUE, // input 11 (0xB)
735     INVALID_VALUE, // input 12 (0xC)
736     INVALID_VALUE, // input 13 (0xD)
737     INVALID_VALUE, // input 14 (0xE)
738     INVALID_VALUE, // input 15 (0xF)
739     INVALID_VALUE, // input 16 (0x10)
740     INVALID_VALUE, // input 17 (0x11)
741     INVALID_VALUE, // input 18 (0x12)
742     INVALID_VALUE, // input 19 (0x13)
743     INVALID_VALUE, // input 20 (0x14)
744     INVALID_VALUE, // input 21 (0x15)
745     INVALID_VALUE, // input 22 (0x16)
746     INVALID_VALUE, // input 23 (0x17)
747     INVALID_VALUE, // input 24 (0x18)
748     INVALID_VALUE, // input 25 (0x19)
749     INVALID_VALUE, // input 26 (0x1A)
750     INVALID_VALUE, // input 27 (0x1B)
751     INVALID_VALUE, // input 28 (0x1C)
752     INVALID_VALUE, // input 29 (0x1D)
753     INVALID_VALUE, // input 30 (0x1E)
754     INVALID_VALUE, // input 31 (0x1F)
755     INVALID_VALUE, // input 32 (0x20)
756     INVALID_VALUE, // input 33 (0x21)
757     INVALID_VALUE, // input 34 (0x22)
758     INVALID_VALUE, // input 35 (0x23)
759     INVALID_VALUE, // input 36 (0x24)
760     INVALID_VALUE, // input 37 (0x25)
761     INVALID_VALUE, // input 38 (0x26)
762     INVALID_VALUE, // input 39 (0x27)
763     INVALID_VALUE, // input 40 (0x28)
764     INVALID_VALUE, // input 41 (0x29)
765     INVALID_VALUE, // input 42 (0x2A)
766     INVALID_VALUE, // input 43 (0x2B)
767     INVALID_VALUE, // input 44 (0x2C)
768     INVALID_VALUE, // input 45 (0x2D)
769     0, // input 46 (0x2E char '.') => 0 (0x0)
770     1, // input 47 (0x2F char '/') => 1 (0x1)
771     2, // input 48 (0x30 char '0') => 2 (0x2)
772     3, // input 49 (0x31 char '1') => 3 (0x3)
773     4, // input 50 (0x32 char '2') => 4 (0x4)
774     5, // input 51 (0x33 char '3') => 5 (0x5)
775     6, // input 52 (0x34 char '4') => 6 (0x6)
776     7, // input 53 (0x35 char '5') => 7 (0x7)
777     8, // input 54 (0x36 char '6') => 8 (0x8)
778     9, // input 55 (0x37 char '7') => 9 (0x9)
779     10, // input 56 (0x38 char '8') => 10 (0xA)
780     11, // input 57 (0x39 char '9') => 11 (0xB)
781     INVALID_VALUE, // input 58 (0x3A)
782     INVALID_VALUE, // input 59 (0x3B)
783     INVALID_VALUE, // input 60 (0x3C)
784     INVALID_VALUE, // input 61 (0x3D)
785     INVALID_VALUE, // input 62 (0x3E)
786     INVALID_VALUE, // input 63 (0x3F)
787     INVALID_VALUE, // input 64 (0x40)
788     12, // input 65 (0x41 char 'A') => 12 (0xC)
789     13, // input 66 (0x42 char 'B') => 13 (0xD)
790     14, // input 67 (0x43 char 'C') => 14 (0xE)
791     15, // input 68 (0x44 char 'D') => 15 (0xF)
792     16, // input 69 (0x45 char 'E') => 16 (0x10)
793     17, // input 70 (0x46 char 'F') => 17 (0x11)
794     18, // input 71 (0x47 char 'G') => 18 (0x12)
795     19, // input 72 (0x48 char 'H') => 19 (0x13)
796     20, // input 73 (0x49 char 'I') => 20 (0x14)
797     21, // input 74 (0x4A char 'J') => 21 (0x15)
798     22, // input 75 (0x4B char 'K') => 22 (0x16)
799     23, // input 76 (0x4C char 'L') => 23 (0x17)
800     24, // input 77 (0x4D char 'M') => 24 (0x18)
801     25, // input 78 (0x4E char 'N') => 25 (0x19)
802     26, // input 79 (0x4F char 'O') => 26 (0x1A)
803     27, // input 80 (0x50 char 'P') => 27 (0x1B)
804     28, // input 81 (0x51 char 'Q') => 28 (0x1C)
805     29, // input 82 (0x52 char 'R') => 29 (0x1D)
806     30, // input 83 (0x53 char 'S') => 30 (0x1E)
807     31, // input 84 (0x54 char 'T') => 31 (0x1F)
808     32, // input 85 (0x55 char 'U') => 32 (0x20)
809     33, // input 86 (0x56 char 'V') => 33 (0x21)
810     34, // input 87 (0x57 char 'W') => 34 (0x22)
811     35, // input 88 (0x58 char 'X') => 35 (0x23)
812     36, // input 89 (0x59 char 'Y') => 36 (0x24)
813     37, // input 90 (0x5A char 'Z') => 37 (0x25)
814     INVALID_VALUE, // input 91 (0x5B)
815     INVALID_VALUE, // input 92 (0x5C)
816     INVALID_VALUE, // input 93 (0x5D)
817     INVALID_VALUE, // input 94 (0x5E)
818     INVALID_VALUE, // input 95 (0x5F)
819     INVALID_VALUE, // input 96 (0x60)
820     38, // input 97 (0x61 char 'a') => 38 (0x26)
821     39, // input 98 (0x62 char 'b') => 39 (0x27)
822     40, // input 99 (0x63 char 'c') => 40 (0x28)
823     41, // input 100 (0x64 char 'd') => 41 (0x29)
824     42, // input 101 (0x65 char 'e') => 42 (0x2A)
825     43, // input 102 (0x66 char 'f') => 43 (0x2B)
826     44, // input 103 (0x67 char 'g') => 44 (0x2C)
827     45, // input 104 (0x68 char 'h') => 45 (0x2D)
828     46, // input 105 (0x69 char 'i') => 46 (0x2E)
829     47, // input 106 (0x6A char 'j') => 47 (0x2F)
830     48, // input 107 (0x6B char 'k') => 48 (0x30)
831     49, // input 108 (0x6C char 'l') => 49 (0x31)
832     50, // input 109 (0x6D char 'm') => 50 (0x32)
833     51, // input 110 (0x6E char 'n') => 51 (0x33)
834     52, // input 111 (0x6F char 'o') => 52 (0x34)
835     53, // input 112 (0x70 char 'p') => 53 (0x35)
836     54, // input 113 (0x71 char 'q') => 54 (0x36)
837     55, // input 114 (0x72 char 'r') => 55 (0x37)
838     56, // input 115 (0x73 char 's') => 56 (0x38)
839     57, // input 116 (0x74 char 't') => 57 (0x39)
840     58, // input 117 (0x75 char 'u') => 58 (0x3A)
841     59, // input 118 (0x76 char 'v') => 59 (0x3B)
842     60, // input 119 (0x77 char 'w') => 60 (0x3C)
843     61, // input 120 (0x78 char 'x') => 61 (0x3D)
844     62, // input 121 (0x79 char 'y') => 62 (0x3E)
845     63, // input 122 (0x7A char 'z') => 63 (0x3F)
846     INVALID_VALUE, // input 123 (0x7B)
847     INVALID_VALUE, // input 124 (0x7C)
848     INVALID_VALUE, // input 125 (0x7D)
849     INVALID_VALUE, // input 126 (0x7E)
850     INVALID_VALUE, // input 127 (0x7F)
851     INVALID_VALUE, // input 128 (0x80)
852     INVALID_VALUE, // input 129 (0x81)
853     INVALID_VALUE, // input 130 (0x82)
854     INVALID_VALUE, // input 131 (0x83)
855     INVALID_VALUE, // input 132 (0x84)
856     INVALID_VALUE, // input 133 (0x85)
857     INVALID_VALUE, // input 134 (0x86)
858     INVALID_VALUE, // input 135 (0x87)
859     INVALID_VALUE, // input 136 (0x88)
860     INVALID_VALUE, // input 137 (0x89)
861     INVALID_VALUE, // input 138 (0x8A)
862     INVALID_VALUE, // input 139 (0x8B)
863     INVALID_VALUE, // input 140 (0x8C)
864     INVALID_VALUE, // input 141 (0x8D)
865     INVALID_VALUE, // input 142 (0x8E)
866     INVALID_VALUE, // input 143 (0x8F)
867     INVALID_VALUE, // input 144 (0x90)
868     INVALID_VALUE, // input 145 (0x91)
869     INVALID_VALUE, // input 146 (0x92)
870     INVALID_VALUE, // input 147 (0x93)
871     INVALID_VALUE, // input 148 (0x94)
872     INVALID_VALUE, // input 149 (0x95)
873     INVALID_VALUE, // input 150 (0x96)
874     INVALID_VALUE, // input 151 (0x97)
875     INVALID_VALUE, // input 152 (0x98)
876     INVALID_VALUE, // input 153 (0x99)
877     INVALID_VALUE, // input 154 (0x9A)
878     INVALID_VALUE, // input 155 (0x9B)
879     INVALID_VALUE, // input 156 (0x9C)
880     INVALID_VALUE, // input 157 (0x9D)
881     INVALID_VALUE, // input 158 (0x9E)
882     INVALID_VALUE, // input 159 (0x9F)
883     INVALID_VALUE, // input 160 (0xA0)
884     INVALID_VALUE, // input 161 (0xA1)
885     INVALID_VALUE, // input 162 (0xA2)
886     INVALID_VALUE, // input 163 (0xA3)
887     INVALID_VALUE, // input 164 (0xA4)
888     INVALID_VALUE, // input 165 (0xA5)
889     INVALID_VALUE, // input 166 (0xA6)
890     INVALID_VALUE, // input 167 (0xA7)
891     INVALID_VALUE, // input 168 (0xA8)
892     INVALID_VALUE, // input 169 (0xA9)
893     INVALID_VALUE, // input 170 (0xAA)
894     INVALID_VALUE, // input 171 (0xAB)
895     INVALID_VALUE, // input 172 (0xAC)
896     INVALID_VALUE, // input 173 (0xAD)
897     INVALID_VALUE, // input 174 (0xAE)
898     INVALID_VALUE, // input 175 (0xAF)
899     INVALID_VALUE, // input 176 (0xB0)
900     INVALID_VALUE, // input 177 (0xB1)
901     INVALID_VALUE, // input 178 (0xB2)
902     INVALID_VALUE, // input 179 (0xB3)
903     INVALID_VALUE, // input 180 (0xB4)
904     INVALID_VALUE, // input 181 (0xB5)
905     INVALID_VALUE, // input 182 (0xB6)
906     INVALID_VALUE, // input 183 (0xB7)
907     INVALID_VALUE, // input 184 (0xB8)
908     INVALID_VALUE, // input 185 (0xB9)
909     INVALID_VALUE, // input 186 (0xBA)
910     INVALID_VALUE, // input 187 (0xBB)
911     INVALID_VALUE, // input 188 (0xBC)
912     INVALID_VALUE, // input 189 (0xBD)
913     INVALID_VALUE, // input 190 (0xBE)
914     INVALID_VALUE, // input 191 (0xBF)
915     INVALID_VALUE, // input 192 (0xC0)
916     INVALID_VALUE, // input 193 (0xC1)
917     INVALID_VALUE, // input 194 (0xC2)
918     INVALID_VALUE, // input 195 (0xC3)
919     INVALID_VALUE, // input 196 (0xC4)
920     INVALID_VALUE, // input 197 (0xC5)
921     INVALID_VALUE, // input 198 (0xC6)
922     INVALID_VALUE, // input 199 (0xC7)
923     INVALID_VALUE, // input 200 (0xC8)
924     INVALID_VALUE, // input 201 (0xC9)
925     INVALID_VALUE, // input 202 (0xCA)
926     INVALID_VALUE, // input 203 (0xCB)
927     INVALID_VALUE, // input 204 (0xCC)
928     INVALID_VALUE, // input 205 (0xCD)
929     INVALID_VALUE, // input 206 (0xCE)
930     INVALID_VALUE, // input 207 (0xCF)
931     INVALID_VALUE, // input 208 (0xD0)
932     INVALID_VALUE, // input 209 (0xD1)
933     INVALID_VALUE, // input 210 (0xD2)
934     INVALID_VALUE, // input 211 (0xD3)
935     INVALID_VALUE, // input 212 (0xD4)
936     INVALID_VALUE, // input 213 (0xD5)
937     INVALID_VALUE, // input 214 (0xD6)
938     INVALID_VALUE, // input 215 (0xD7)
939     INVALID_VALUE, // input 216 (0xD8)
940     INVALID_VALUE, // input 217 (0xD9)
941     INVALID_VALUE, // input 218 (0xDA)
942     INVALID_VALUE, // input 219 (0xDB)
943     INVALID_VALUE, // input 220 (0xDC)
944     INVALID_VALUE, // input 221 (0xDD)
945     INVALID_VALUE, // input 222 (0xDE)
946     INVALID_VALUE, // input 223 (0xDF)
947     INVALID_VALUE, // input 224 (0xE0)
948     INVALID_VALUE, // input 225 (0xE1)
949     INVALID_VALUE, // input 226 (0xE2)
950     INVALID_VALUE, // input 227 (0xE3)
951     INVALID_VALUE, // input 228 (0xE4)
952     INVALID_VALUE, // input 229 (0xE5)
953     INVALID_VALUE, // input 230 (0xE6)
954     INVALID_VALUE, // input 231 (0xE7)
955     INVALID_VALUE, // input 232 (0xE8)
956     INVALID_VALUE, // input 233 (0xE9)
957     INVALID_VALUE, // input 234 (0xEA)
958     INVALID_VALUE, // input 235 (0xEB)
959     INVALID_VALUE, // input 236 (0xEC)
960     INVALID_VALUE, // input 237 (0xED)
961     INVALID_VALUE, // input 238 (0xEE)
962     INVALID_VALUE, // input 239 (0xEF)
963     INVALID_VALUE, // input 240 (0xF0)
964     INVALID_VALUE, // input 241 (0xF1)
965     INVALID_VALUE, // input 242 (0xF2)
966     INVALID_VALUE, // input 243 (0xF3)
967     INVALID_VALUE, // input 244 (0xF4)
968     INVALID_VALUE, // input 245 (0xF5)
969     INVALID_VALUE, // input 246 (0xF6)
970     INVALID_VALUE, // input 247 (0xF7)
971     INVALID_VALUE, // input 248 (0xF8)
972     INVALID_VALUE, // input 249 (0xF9)
973     INVALID_VALUE, // input 250 (0xFA)
974     INVALID_VALUE, // input 251 (0xFB)
975     INVALID_VALUE, // input 252 (0xFC)
976     INVALID_VALUE, // input 253 (0xFD)
977     INVALID_VALUE, // input 254 (0xFE)
978     INVALID_VALUE, // input 255 (0xFF)
979 ];
980