1 //! Cached tables for precalculated values.
2 
3 use crate::util::*;
4 #[cfg(any(feature = "correct", feature = "format"))]
5 use static_assertions::const_assert;
6 
7 /// Precalculated table for a digit to a character.
8 ///
9 /// Unoptimized table for radix N always, which translates a single digit to a
10 /// character, and also useful for radix-N float encoding.
11 const DIGIT_TO_CHAR: [u8; 36] = [b'0', b'1', b'2', b'3', b'4', b'5', b'6', b'7', b'8', b'9', b'A', b'B', b'C', b'D', b'E', b'F', b'G', b'H', b'I', b'J', b'K', b'L', b'M', b'N', b'O', b'P', b'Q', b'R', b'S', b'T', b'U', b'V', b'W', b'X', b'Y', b'Z'];
12 
13 /// Get character from digit.
14 #[inline(always)]
15 #[allow(dead_code)]
digit_to_char<T: Integer>(digit: T) -> u816 pub(crate) fn digit_to_char<T: Integer>(digit: T) -> u8 {
17     debug_assert!(digit.as_i32() >= 0 && digit.as_i32() < 36, "digit_to_char() invalid character.");
18     index!(DIGIT_TO_CHAR[digit.as_usize()])
19 }
20 
21 // Conditionally compile the precompiled radix**2 tables.
22 // These tables take `2 * (value % (radix^2))`, and return
23 // two consecutive values corresponding to both digits.
24 //
25 // Total array storage: 32 KB.
26 // Provides ~5x performance enhancement.
27 //
28 // These arrays are cache-friendly, for each BASE[2-36] table,
29 // elements can be access sequentially 2-at-a-time, preventing as many
30 // cache misses inside inner loops. For example, accessing the two elements
31 // for a remainder of `3` for the radix^2 in radix 2 will give you `1` and `1`,
32 // at indexes 6 and 7.
33 
34 cfg_if! {
35 if #[cfg(feature = "table")] {
36 pub(crate) const DIGIT_TO_BASE10_SQUARED: [u8; 200] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9'];
37 }}  // cfg_if
38 
39 cfg_if! {
40 if #[cfg(all(feature = "radix", feature = "table"))] {
41 pub(crate) const DIGIT_TO_BASE2_SQUARED: [u8; 8] = [b'0', b'0', b'0', b'1', b'1', b'0', b'1', b'1'];
42 pub(crate) const DIGIT_TO_BASE3_SQUARED: [u8; 18] = [b'0', b'0', b'0', b'1', b'0', b'2', b'1', b'0', b'1', b'1', b'1', b'2', b'2', b'0', b'2', b'1', b'2', b'2'];
43 pub(crate) const DIGIT_TO_BASE4_SQUARED: [u8; 32] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3'];
44 pub(crate) const DIGIT_TO_BASE5_SQUARED: [u8; 50] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4'];
45 pub(crate) const DIGIT_TO_BASE6_SQUARED: [u8; 72] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5'];
46 pub(crate) const DIGIT_TO_BASE7_SQUARED: [u8; 98] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6'];
47 pub(crate) const DIGIT_TO_BASE8_SQUARED: [u8; 128] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7'];
48 pub(crate) const DIGIT_TO_BASE9_SQUARED: [u8; 162] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8'];
49 pub(crate) const DIGIT_TO_BASE11_SQUARED: [u8; 242] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A'];
50 pub(crate) const DIGIT_TO_BASE12_SQUARED: [u8; 288] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B'];
51 pub(crate) const DIGIT_TO_BASE13_SQUARED: [u8; 338] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C'];
52 pub(crate) const DIGIT_TO_BASE14_SQUARED: [u8; 392] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D'];
53 pub(crate) const DIGIT_TO_BASE15_SQUARED: [u8; 450] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E'];
54 pub(crate) const DIGIT_TO_BASE16_SQUARED: [u8; 512] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F'];
55 pub(crate) const DIGIT_TO_BASE17_SQUARED: [u8; 578] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G'];
56 pub(crate) const DIGIT_TO_BASE18_SQUARED: [u8; 648] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H'];
57 pub(crate) const DIGIT_TO_BASE19_SQUARED: [u8; 722] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I'];
58 pub(crate) const DIGIT_TO_BASE20_SQUARED: [u8; 800] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J'];
59 pub(crate) const DIGIT_TO_BASE21_SQUARED: [u8; 882] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K'];
60 pub(crate) const DIGIT_TO_BASE22_SQUARED: [u8; 968] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L'];
61 pub(crate) const DIGIT_TO_BASE23_SQUARED: [u8; 1058] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M'];
62 pub(crate) const DIGIT_TO_BASE24_SQUARED: [u8; 1152] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N'];
63 pub(crate) const DIGIT_TO_BASE25_SQUARED: [u8; 1250] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O'];
64 pub(crate) const DIGIT_TO_BASE26_SQUARED: [u8; 1352] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P'];
65 pub(crate) const DIGIT_TO_BASE27_SQUARED: [u8; 1458] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q'];
66 pub(crate) const DIGIT_TO_BASE28_SQUARED: [u8; 1568] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R'];
67 pub(crate) const DIGIT_TO_BASE29_SQUARED: [u8; 1682] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S'];
68 pub(crate) const DIGIT_TO_BASE30_SQUARED: [u8; 1800] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'0', b'T', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'1', b'T', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'2', b'T', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'3', b'T', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'4', b'T', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'5', b'T', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'6', b'T', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'7', b'T', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'8', b'T', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'9', b'T', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'A', b'T', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'B', b'T', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'C', b'T', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'D', b'T', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'E', b'T', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'F', b'T', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'G', b'T', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'H', b'T', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'I', b'T', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'J', b'T', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'K', b'T', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'L', b'T', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'M', b'T', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'N', b'T', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'O', b'T', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'P', b'T', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'Q', b'T', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'R', b'T', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S', b'S', b'T', b'T', b'0', b'T', b'1', b'T', b'2', b'T', b'3', b'T', b'4', b'T', b'5', b'T', b'6', b'T', b'7', b'T', b'8', b'T', b'9', b'T', b'A', b'T', b'B', b'T', b'C', b'T', b'D', b'T', b'E', b'T', b'F', b'T', b'G', b'T', b'H', b'T', b'I', b'T', b'J', b'T', b'K', b'T', b'L', b'T', b'M', b'T', b'N', b'T', b'O', b'T', b'P', b'T', b'Q', b'T', b'R', b'T', b'S', b'T', b'T'];
69 pub(crate) const DIGIT_TO_BASE31_SQUARED: [u8; 1922] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'0', b'T', b'0', b'U', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'1', b'T', b'1', b'U', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'2', b'T', b'2', b'U', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'3', b'T', b'3', b'U', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'4', b'T', b'4', b'U', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'5', b'T', b'5', b'U', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'6', b'T', b'6', b'U', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'7', b'T', b'7', b'U', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'8', b'T', b'8', b'U', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'9', b'T', b'9', b'U', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'A', b'T', b'A', b'U', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'B', b'T', b'B', b'U', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'C', b'T', b'C', b'U', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'D', b'T', b'D', b'U', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'E', b'T', b'E', b'U', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'F', b'T', b'F', b'U', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'G', b'T', b'G', b'U', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'H', b'T', b'H', b'U', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'I', b'T', b'I', b'U', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'J', b'T', b'J', b'U', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'K', b'T', b'K', b'U', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'L', b'T', b'L', b'U', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'M', b'T', b'M', b'U', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'N', b'T', b'N', b'U', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'O', b'T', b'O', b'U', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'P', b'T', b'P', b'U', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'Q', b'T', b'Q', b'U', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'R', b'T', b'R', b'U', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S', b'S', b'T', b'S', b'U', b'T', b'0', b'T', b'1', b'T', b'2', b'T', b'3', b'T', b'4', b'T', b'5', b'T', b'6', b'T', b'7', b'T', b'8', b'T', b'9', b'T', b'A', b'T', b'B', b'T', b'C', b'T', b'D', b'T', b'E', b'T', b'F', b'T', b'G', b'T', b'H', b'T', b'I', b'T', b'J', b'T', b'K', b'T', b'L', b'T', b'M', b'T', b'N', b'T', b'O', b'T', b'P', b'T', b'Q', b'T', b'R', b'T', b'S', b'T', b'T', b'T', b'U', b'U', b'0', b'U', b'1', b'U', b'2', b'U', b'3', b'U', b'4', b'U', b'5', b'U', b'6', b'U', b'7', b'U', b'8', b'U', b'9', b'U', b'A', b'U', b'B', b'U', b'C', b'U', b'D', b'U', b'E', b'U', b'F', b'U', b'G', b'U', b'H', b'U', b'I', b'U', b'J', b'U', b'K', b'U', b'L', b'U', b'M', b'U', b'N', b'U', b'O', b'U', b'P', b'U', b'Q', b'U', b'R', b'U', b'S', b'U', b'T', b'U', b'U'];
70 pub(crate) const DIGIT_TO_BASE32_SQUARED: [u8; 2048] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'0', b'T', b'0', b'U', b'0', b'V', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'1', b'T', b'1', b'U', b'1', b'V', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'2', b'T', b'2', b'U', b'2', b'V', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'3', b'T', b'3', b'U', b'3', b'V', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'4', b'T', b'4', b'U', b'4', b'V', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'5', b'T', b'5', b'U', b'5', b'V', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'6', b'T', b'6', b'U', b'6', b'V', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'7', b'T', b'7', b'U', b'7', b'V', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'8', b'T', b'8', b'U', b'8', b'V', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'9', b'T', b'9', b'U', b'9', b'V', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'A', b'T', b'A', b'U', b'A', b'V', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'B', b'T', b'B', b'U', b'B', b'V', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'C', b'T', b'C', b'U', b'C', b'V', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'D', b'T', b'D', b'U', b'D', b'V', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'E', b'T', b'E', b'U', b'E', b'V', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'F', b'T', b'F', b'U', b'F', b'V', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'G', b'T', b'G', b'U', b'G', b'V', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'H', b'T', b'H', b'U', b'H', b'V', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'I', b'T', b'I', b'U', b'I', b'V', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'J', b'T', b'J', b'U', b'J', b'V', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'K', b'T', b'K', b'U', b'K', b'V', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'L', b'T', b'L', b'U', b'L', b'V', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'M', b'T', b'M', b'U', b'M', b'V', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'N', b'T', b'N', b'U', b'N', b'V', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'O', b'T', b'O', b'U', b'O', b'V', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'P', b'T', b'P', b'U', b'P', b'V', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'Q', b'T', b'Q', b'U', b'Q', b'V', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'R', b'T', b'R', b'U', b'R', b'V', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S', b'S', b'T', b'S', b'U', b'S', b'V', b'T', b'0', b'T', b'1', b'T', b'2', b'T', b'3', b'T', b'4', b'T', b'5', b'T', b'6', b'T', b'7', b'T', b'8', b'T', b'9', b'T', b'A', b'T', b'B', b'T', b'C', b'T', b'D', b'T', b'E', b'T', b'F', b'T', b'G', b'T', b'H', b'T', b'I', b'T', b'J', b'T', b'K', b'T', b'L', b'T', b'M', b'T', b'N', b'T', b'O', b'T', b'P', b'T', b'Q', b'T', b'R', b'T', b'S', b'T', b'T', b'T', b'U', b'T', b'V', b'U', b'0', b'U', b'1', b'U', b'2', b'U', b'3', b'U', b'4', b'U', b'5', b'U', b'6', b'U', b'7', b'U', b'8', b'U', b'9', b'U', b'A', b'U', b'B', b'U', b'C', b'U', b'D', b'U', b'E', b'U', b'F', b'U', b'G', b'U', b'H', b'U', b'I', b'U', b'J', b'U', b'K', b'U', b'L', b'U', b'M', b'U', b'N', b'U', b'O', b'U', b'P', b'U', b'Q', b'U', b'R', b'U', b'S', b'U', b'T', b'U', b'U', b'U', b'V', b'V', b'0', b'V', b'1', b'V', b'2', b'V', b'3', b'V', b'4', b'V', b'5', b'V', b'6', b'V', b'7', b'V', b'8', b'V', b'9', b'V', b'A', b'V', b'B', b'V', b'C', b'V', b'D', b'V', b'E', b'V', b'F', b'V', b'G', b'V', b'H', b'V', b'I', b'V', b'J', b'V', b'K', b'V', b'L', b'V', b'M', b'V', b'N', b'V', b'O', b'V', b'P', b'V', b'Q', b'V', b'R', b'V', b'S', b'V', b'T', b'V', b'U', b'V', b'V'];
71 pub(crate) const DIGIT_TO_BASE33_SQUARED: [u8; 2178] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'0', b'T', b'0', b'U', b'0', b'V', b'0', b'W', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'1', b'T', b'1', b'U', b'1', b'V', b'1', b'W', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'2', b'T', b'2', b'U', b'2', b'V', b'2', b'W', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'3', b'T', b'3', b'U', b'3', b'V', b'3', b'W', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'4', b'T', b'4', b'U', b'4', b'V', b'4', b'W', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'5', b'T', b'5', b'U', b'5', b'V', b'5', b'W', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'6', b'T', b'6', b'U', b'6', b'V', b'6', b'W', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'7', b'T', b'7', b'U', b'7', b'V', b'7', b'W', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'8', b'T', b'8', b'U', b'8', b'V', b'8', b'W', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'9', b'T', b'9', b'U', b'9', b'V', b'9', b'W', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'A', b'T', b'A', b'U', b'A', b'V', b'A', b'W', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'B', b'T', b'B', b'U', b'B', b'V', b'B', b'W', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'C', b'T', b'C', b'U', b'C', b'V', b'C', b'W', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'D', b'T', b'D', b'U', b'D', b'V', b'D', b'W', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'E', b'T', b'E', b'U', b'E', b'V', b'E', b'W', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'F', b'T', b'F', b'U', b'F', b'V', b'F', b'W', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'G', b'T', b'G', b'U', b'G', b'V', b'G', b'W', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'H', b'T', b'H', b'U', b'H', b'V', b'H', b'W', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'I', b'T', b'I', b'U', b'I', b'V', b'I', b'W', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'J', b'T', b'J', b'U', b'J', b'V', b'J', b'W', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'K', b'T', b'K', b'U', b'K', b'V', b'K', b'W', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'L', b'T', b'L', b'U', b'L', b'V', b'L', b'W', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'M', b'T', b'M', b'U', b'M', b'V', b'M', b'W', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'N', b'T', b'N', b'U', b'N', b'V', b'N', b'W', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'O', b'T', b'O', b'U', b'O', b'V', b'O', b'W', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'P', b'T', b'P', b'U', b'P', b'V', b'P', b'W', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'Q', b'T', b'Q', b'U', b'Q', b'V', b'Q', b'W', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'R', b'T', b'R', b'U', b'R', b'V', b'R', b'W', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S', b'S', b'T', b'S', b'U', b'S', b'V', b'S', b'W', b'T', b'0', b'T', b'1', b'T', b'2', b'T', b'3', b'T', b'4', b'T', b'5', b'T', b'6', b'T', b'7', b'T', b'8', b'T', b'9', b'T', b'A', b'T', b'B', b'T', b'C', b'T', b'D', b'T', b'E', b'T', b'F', b'T', b'G', b'T', b'H', b'T', b'I', b'T', b'J', b'T', b'K', b'T', b'L', b'T', b'M', b'T', b'N', b'T', b'O', b'T', b'P', b'T', b'Q', b'T', b'R', b'T', b'S', b'T', b'T', b'T', b'U', b'T', b'V', b'T', b'W', b'U', b'0', b'U', b'1', b'U', b'2', b'U', b'3', b'U', b'4', b'U', b'5', b'U', b'6', b'U', b'7', b'U', b'8', b'U', b'9', b'U', b'A', b'U', b'B', b'U', b'C', b'U', b'D', b'U', b'E', b'U', b'F', b'U', b'G', b'U', b'H', b'U', b'I', b'U', b'J', b'U', b'K', b'U', b'L', b'U', b'M', b'U', b'N', b'U', b'O', b'U', b'P', b'U', b'Q', b'U', b'R', b'U', b'S', b'U', b'T', b'U', b'U', b'U', b'V', b'U', b'W', b'V', b'0', b'V', b'1', b'V', b'2', b'V', b'3', b'V', b'4', b'V', b'5', b'V', b'6', b'V', b'7', b'V', b'8', b'V', b'9', b'V', b'A', b'V', b'B', b'V', b'C', b'V', b'D', b'V', b'E', b'V', b'F', b'V', b'G', b'V', b'H', b'V', b'I', b'V', b'J', b'V', b'K', b'V', b'L', b'V', b'M', b'V', b'N', b'V', b'O', b'V', b'P', b'V', b'Q', b'V', b'R', b'V', b'S', b'V', b'T', b'V', b'U', b'V', b'V', b'V', b'W', b'W', b'0', b'W', b'1', b'W', b'2', b'W', b'3', b'W', b'4', b'W', b'5', b'W', b'6', b'W', b'7', b'W', b'8', b'W', b'9', b'W', b'A', b'W', b'B', b'W', b'C', b'W', b'D', b'W', b'E', b'W', b'F', b'W', b'G', b'W', b'H', b'W', b'I', b'W', b'J', b'W', b'K', b'W', b'L', b'W', b'M', b'W', b'N', b'W', b'O', b'W', b'P', b'W', b'Q', b'W', b'R', b'W', b'S', b'W', b'T', b'W', b'U', b'W', b'V', b'W', b'W'];
72 pub(crate) const DIGIT_TO_BASE34_SQUARED: [u8; 2312] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'0', b'T', b'0', b'U', b'0', b'V', b'0', b'W', b'0', b'X', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'1', b'T', b'1', b'U', b'1', b'V', b'1', b'W', b'1', b'X', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'2', b'T', b'2', b'U', b'2', b'V', b'2', b'W', b'2', b'X', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'3', b'T', b'3', b'U', b'3', b'V', b'3', b'W', b'3', b'X', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'4', b'T', b'4', b'U', b'4', b'V', b'4', b'W', b'4', b'X', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'5', b'T', b'5', b'U', b'5', b'V', b'5', b'W', b'5', b'X', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'6', b'T', b'6', b'U', b'6', b'V', b'6', b'W', b'6', b'X', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'7', b'T', b'7', b'U', b'7', b'V', b'7', b'W', b'7', b'X', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'8', b'T', b'8', b'U', b'8', b'V', b'8', b'W', b'8', b'X', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'9', b'T', b'9', b'U', b'9', b'V', b'9', b'W', b'9', b'X', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'A', b'T', b'A', b'U', b'A', b'V', b'A', b'W', b'A', b'X', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'B', b'T', b'B', b'U', b'B', b'V', b'B', b'W', b'B', b'X', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'C', b'T', b'C', b'U', b'C', b'V', b'C', b'W', b'C', b'X', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'D', b'T', b'D', b'U', b'D', b'V', b'D', b'W', b'D', b'X', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'E', b'T', b'E', b'U', b'E', b'V', b'E', b'W', b'E', b'X', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'F', b'T', b'F', b'U', b'F', b'V', b'F', b'W', b'F', b'X', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'G', b'T', b'G', b'U', b'G', b'V', b'G', b'W', b'G', b'X', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'H', b'T', b'H', b'U', b'H', b'V', b'H', b'W', b'H', b'X', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'I', b'T', b'I', b'U', b'I', b'V', b'I', b'W', b'I', b'X', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'J', b'T', b'J', b'U', b'J', b'V', b'J', b'W', b'J', b'X', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'K', b'T', b'K', b'U', b'K', b'V', b'K', b'W', b'K', b'X', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'L', b'T', b'L', b'U', b'L', b'V', b'L', b'W', b'L', b'X', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'M', b'T', b'M', b'U', b'M', b'V', b'M', b'W', b'M', b'X', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'N', b'T', b'N', b'U', b'N', b'V', b'N', b'W', b'N', b'X', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'O', b'T', b'O', b'U', b'O', b'V', b'O', b'W', b'O', b'X', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'P', b'T', b'P', b'U', b'P', b'V', b'P', b'W', b'P', b'X', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'Q', b'T', b'Q', b'U', b'Q', b'V', b'Q', b'W', b'Q', b'X', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'R', b'T', b'R', b'U', b'R', b'V', b'R', b'W', b'R', b'X', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S', b'S', b'T', b'S', b'U', b'S', b'V', b'S', b'W', b'S', b'X', b'T', b'0', b'T', b'1', b'T', b'2', b'T', b'3', b'T', b'4', b'T', b'5', b'T', b'6', b'T', b'7', b'T', b'8', b'T', b'9', b'T', b'A', b'T', b'B', b'T', b'C', b'T', b'D', b'T', b'E', b'T', b'F', b'T', b'G', b'T', b'H', b'T', b'I', b'T', b'J', b'T', b'K', b'T', b'L', b'T', b'M', b'T', b'N', b'T', b'O', b'T', b'P', b'T', b'Q', b'T', b'R', b'T', b'S', b'T', b'T', b'T', b'U', b'T', b'V', b'T', b'W', b'T', b'X', b'U', b'0', b'U', b'1', b'U', b'2', b'U', b'3', b'U', b'4', b'U', b'5', b'U', b'6', b'U', b'7', b'U', b'8', b'U', b'9', b'U', b'A', b'U', b'B', b'U', b'C', b'U', b'D', b'U', b'E', b'U', b'F', b'U', b'G', b'U', b'H', b'U', b'I', b'U', b'J', b'U', b'K', b'U', b'L', b'U', b'M', b'U', b'N', b'U', b'O', b'U', b'P', b'U', b'Q', b'U', b'R', b'U', b'S', b'U', b'T', b'U', b'U', b'U', b'V', b'U', b'W', b'U', b'X', b'V', b'0', b'V', b'1', b'V', b'2', b'V', b'3', b'V', b'4', b'V', b'5', b'V', b'6', b'V', b'7', b'V', b'8', b'V', b'9', b'V', b'A', b'V', b'B', b'V', b'C', b'V', b'D', b'V', b'E', b'V', b'F', b'V', b'G', b'V', b'H', b'V', b'I', b'V', b'J', b'V', b'K', b'V', b'L', b'V', b'M', b'V', b'N', b'V', b'O', b'V', b'P', b'V', b'Q', b'V', b'R', b'V', b'S', b'V', b'T', b'V', b'U', b'V', b'V', b'V', b'W', b'V', b'X', b'W', b'0', b'W', b'1', b'W', b'2', b'W', b'3', b'W', b'4', b'W', b'5', b'W', b'6', b'W', b'7', b'W', b'8', b'W', b'9', b'W', b'A', b'W', b'B', b'W', b'C', b'W', b'D', b'W', b'E', b'W', b'F', b'W', b'G', b'W', b'H', b'W', b'I', b'W', b'J', b'W', b'K', b'W', b'L', b'W', b'M', b'W', b'N', b'W', b'O', b'W', b'P', b'W', b'Q', b'W', b'R', b'W', b'S', b'W', b'T', b'W', b'U', b'W', b'V', b'W', b'W', b'W', b'X', b'X', b'0', b'X', b'1', b'X', b'2', b'X', b'3', b'X', b'4', b'X', b'5', b'X', b'6', b'X', b'7', b'X', b'8', b'X', b'9', b'X', b'A', b'X', b'B', b'X', b'C', b'X', b'D', b'X', b'E', b'X', b'F', b'X', b'G', b'X', b'H', b'X', b'I', b'X', b'J', b'X', b'K', b'X', b'L', b'X', b'M', b'X', b'N', b'X', b'O', b'X', b'P', b'X', b'Q', b'X', b'R', b'X', b'S', b'X', b'T', b'X', b'U', b'X', b'V', b'X', b'W', b'X', b'X'];
73 pub(crate) const DIGIT_TO_BASE35_SQUARED: [u8; 2450] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'0', b'T', b'0', b'U', b'0', b'V', b'0', b'W', b'0', b'X', b'0', b'Y', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'1', b'T', b'1', b'U', b'1', b'V', b'1', b'W', b'1', b'X', b'1', b'Y', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'2', b'T', b'2', b'U', b'2', b'V', b'2', b'W', b'2', b'X', b'2', b'Y', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'3', b'T', b'3', b'U', b'3', b'V', b'3', b'W', b'3', b'X', b'3', b'Y', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'4', b'T', b'4', b'U', b'4', b'V', b'4', b'W', b'4', b'X', b'4', b'Y', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'5', b'T', b'5', b'U', b'5', b'V', b'5', b'W', b'5', b'X', b'5', b'Y', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'6', b'T', b'6', b'U', b'6', b'V', b'6', b'W', b'6', b'X', b'6', b'Y', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'7', b'T', b'7', b'U', b'7', b'V', b'7', b'W', b'7', b'X', b'7', b'Y', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'8', b'T', b'8', b'U', b'8', b'V', b'8', b'W', b'8', b'X', b'8', b'Y', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'9', b'T', b'9', b'U', b'9', b'V', b'9', b'W', b'9', b'X', b'9', b'Y', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'A', b'T', b'A', b'U', b'A', b'V', b'A', b'W', b'A', b'X', b'A', b'Y', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'B', b'T', b'B', b'U', b'B', b'V', b'B', b'W', b'B', b'X', b'B', b'Y', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'C', b'T', b'C', b'U', b'C', b'V', b'C', b'W', b'C', b'X', b'C', b'Y', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'D', b'T', b'D', b'U', b'D', b'V', b'D', b'W', b'D', b'X', b'D', b'Y', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'E', b'T', b'E', b'U', b'E', b'V', b'E', b'W', b'E', b'X', b'E', b'Y', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'F', b'T', b'F', b'U', b'F', b'V', b'F', b'W', b'F', b'X', b'F', b'Y', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'G', b'T', b'G', b'U', b'G', b'V', b'G', b'W', b'G', b'X', b'G', b'Y', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'H', b'T', b'H', b'U', b'H', b'V', b'H', b'W', b'H', b'X', b'H', b'Y', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'I', b'T', b'I', b'U', b'I', b'V', b'I', b'W', b'I', b'X', b'I', b'Y', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'J', b'T', b'J', b'U', b'J', b'V', b'J', b'W', b'J', b'X', b'J', b'Y', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'K', b'T', b'K', b'U', b'K', b'V', b'K', b'W', b'K', b'X', b'K', b'Y', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'L', b'T', b'L', b'U', b'L', b'V', b'L', b'W', b'L', b'X', b'L', b'Y', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'M', b'T', b'M', b'U', b'M', b'V', b'M', b'W', b'M', b'X', b'M', b'Y', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'N', b'T', b'N', b'U', b'N', b'V', b'N', b'W', b'N', b'X', b'N', b'Y', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'O', b'T', b'O', b'U', b'O', b'V', b'O', b'W', b'O', b'X', b'O', b'Y', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'P', b'T', b'P', b'U', b'P', b'V', b'P', b'W', b'P', b'X', b'P', b'Y', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'Q', b'T', b'Q', b'U', b'Q', b'V', b'Q', b'W', b'Q', b'X', b'Q', b'Y', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'R', b'T', b'R', b'U', b'R', b'V', b'R', b'W', b'R', b'X', b'R', b'Y', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S', b'S', b'T', b'S', b'U', b'S', b'V', b'S', b'W', b'S', b'X', b'S', b'Y', b'T', b'0', b'T', b'1', b'T', b'2', b'T', b'3', b'T', b'4', b'T', b'5', b'T', b'6', b'T', b'7', b'T', b'8', b'T', b'9', b'T', b'A', b'T', b'B', b'T', b'C', b'T', b'D', b'T', b'E', b'T', b'F', b'T', b'G', b'T', b'H', b'T', b'I', b'T', b'J', b'T', b'K', b'T', b'L', b'T', b'M', b'T', b'N', b'T', b'O', b'T', b'P', b'T', b'Q', b'T', b'R', b'T', b'S', b'T', b'T', b'T', b'U', b'T', b'V', b'T', b'W', b'T', b'X', b'T', b'Y', b'U', b'0', b'U', b'1', b'U', b'2', b'U', b'3', b'U', b'4', b'U', b'5', b'U', b'6', b'U', b'7', b'U', b'8', b'U', b'9', b'U', b'A', b'U', b'B', b'U', b'C', b'U', b'D', b'U', b'E', b'U', b'F', b'U', b'G', b'U', b'H', b'U', b'I', b'U', b'J', b'U', b'K', b'U', b'L', b'U', b'M', b'U', b'N', b'U', b'O', b'U', b'P', b'U', b'Q', b'U', b'R', b'U', b'S', b'U', b'T', b'U', b'U', b'U', b'V', b'U', b'W', b'U', b'X', b'U', b'Y', b'V', b'0', b'V', b'1', b'V', b'2', b'V', b'3', b'V', b'4', b'V', b'5', b'V', b'6', b'V', b'7', b'V', b'8', b'V', b'9', b'V', b'A', b'V', b'B', b'V', b'C', b'V', b'D', b'V', b'E', b'V', b'F', b'V', b'G', b'V', b'H', b'V', b'I', b'V', b'J', b'V', b'K', b'V', b'L', b'V', b'M', b'V', b'N', b'V', b'O', b'V', b'P', b'V', b'Q', b'V', b'R', b'V', b'S', b'V', b'T', b'V', b'U', b'V', b'V', b'V', b'W', b'V', b'X', b'V', b'Y', b'W', b'0', b'W', b'1', b'W', b'2', b'W', b'3', b'W', b'4', b'W', b'5', b'W', b'6', b'W', b'7', b'W', b'8', b'W', b'9', b'W', b'A', b'W', b'B', b'W', b'C', b'W', b'D', b'W', b'E', b'W', b'F', b'W', b'G', b'W', b'H', b'W', b'I', b'W', b'J', b'W', b'K', b'W', b'L', b'W', b'M', b'W', b'N', b'W', b'O', b'W', b'P', b'W', b'Q', b'W', b'R', b'W', b'S', b'W', b'T', b'W', b'U', b'W', b'V', b'W', b'W', b'W', b'X', b'W', b'Y', b'X', b'0', b'X', b'1', b'X', b'2', b'X', b'3', b'X', b'4', b'X', b'5', b'X', b'6', b'X', b'7', b'X', b'8', b'X', b'9', b'X', b'A', b'X', b'B', b'X', b'C', b'X', b'D', b'X', b'E', b'X', b'F', b'X', b'G', b'X', b'H', b'X', b'I', b'X', b'J', b'X', b'K', b'X', b'L', b'X', b'M', b'X', b'N', b'X', b'O', b'X', b'P', b'X', b'Q', b'X', b'R', b'X', b'S', b'X', b'T', b'X', b'U', b'X', b'V', b'X', b'W', b'X', b'X', b'X', b'Y', b'Y', b'0', b'Y', b'1', b'Y', b'2', b'Y', b'3', b'Y', b'4', b'Y', b'5', b'Y', b'6', b'Y', b'7', b'Y', b'8', b'Y', b'9', b'Y', b'A', b'Y', b'B', b'Y', b'C', b'Y', b'D', b'Y', b'E', b'Y', b'F', b'Y', b'G', b'Y', b'H', b'Y', b'I', b'Y', b'J', b'Y', b'K', b'Y', b'L', b'Y', b'M', b'Y', b'N', b'Y', b'O', b'Y', b'P', b'Y', b'Q', b'Y', b'R', b'Y', b'S', b'Y', b'T', b'Y', b'U', b'Y', b'V', b'Y', b'W', b'Y', b'X', b'Y', b'Y'];
74 pub(crate) const DIGIT_TO_BASE36_SQUARED: [u8; 2592] = [b'0', b'0', b'0', b'1', b'0', b'2', b'0', b'3', b'0', b'4', b'0', b'5', b'0', b'6', b'0', b'7', b'0', b'8', b'0', b'9', b'0', b'A', b'0', b'B', b'0', b'C', b'0', b'D', b'0', b'E', b'0', b'F', b'0', b'G', b'0', b'H', b'0', b'I', b'0', b'J', b'0', b'K', b'0', b'L', b'0', b'M', b'0', b'N', b'0', b'O', b'0', b'P', b'0', b'Q', b'0', b'R', b'0', b'S', b'0', b'T', b'0', b'U', b'0', b'V', b'0', b'W', b'0', b'X', b'0', b'Y', b'0', b'Z', b'1', b'0', b'1', b'1', b'1', b'2', b'1', b'3', b'1', b'4', b'1', b'5', b'1', b'6', b'1', b'7', b'1', b'8', b'1', b'9', b'1', b'A', b'1', b'B', b'1', b'C', b'1', b'D', b'1', b'E', b'1', b'F', b'1', b'G', b'1', b'H', b'1', b'I', b'1', b'J', b'1', b'K', b'1', b'L', b'1', b'M', b'1', b'N', b'1', b'O', b'1', b'P', b'1', b'Q', b'1', b'R', b'1', b'S', b'1', b'T', b'1', b'U', b'1', b'V', b'1', b'W', b'1', b'X', b'1', b'Y', b'1', b'Z', b'2', b'0', b'2', b'1', b'2', b'2', b'2', b'3', b'2', b'4', b'2', b'5', b'2', b'6', b'2', b'7', b'2', b'8', b'2', b'9', b'2', b'A', b'2', b'B', b'2', b'C', b'2', b'D', b'2', b'E', b'2', b'F', b'2', b'G', b'2', b'H', b'2', b'I', b'2', b'J', b'2', b'K', b'2', b'L', b'2', b'M', b'2', b'N', b'2', b'O', b'2', b'P', b'2', b'Q', b'2', b'R', b'2', b'S', b'2', b'T', b'2', b'U', b'2', b'V', b'2', b'W', b'2', b'X', b'2', b'Y', b'2', b'Z', b'3', b'0', b'3', b'1', b'3', b'2', b'3', b'3', b'3', b'4', b'3', b'5', b'3', b'6', b'3', b'7', b'3', b'8', b'3', b'9', b'3', b'A', b'3', b'B', b'3', b'C', b'3', b'D', b'3', b'E', b'3', b'F', b'3', b'G', b'3', b'H', b'3', b'I', b'3', b'J', b'3', b'K', b'3', b'L', b'3', b'M', b'3', b'N', b'3', b'O', b'3', b'P', b'3', b'Q', b'3', b'R', b'3', b'S', b'3', b'T', b'3', b'U', b'3', b'V', b'3', b'W', b'3', b'X', b'3', b'Y', b'3', b'Z', b'4', b'0', b'4', b'1', b'4', b'2', b'4', b'3', b'4', b'4', b'4', b'5', b'4', b'6', b'4', b'7', b'4', b'8', b'4', b'9', b'4', b'A', b'4', b'B', b'4', b'C', b'4', b'D', b'4', b'E', b'4', b'F', b'4', b'G', b'4', b'H', b'4', b'I', b'4', b'J', b'4', b'K', b'4', b'L', b'4', b'M', b'4', b'N', b'4', b'O', b'4', b'P', b'4', b'Q', b'4', b'R', b'4', b'S', b'4', b'T', b'4', b'U', b'4', b'V', b'4', b'W', b'4', b'X', b'4', b'Y', b'4', b'Z', b'5', b'0', b'5', b'1', b'5', b'2', b'5', b'3', b'5', b'4', b'5', b'5', b'5', b'6', b'5', b'7', b'5', b'8', b'5', b'9', b'5', b'A', b'5', b'B', b'5', b'C', b'5', b'D', b'5', b'E', b'5', b'F', b'5', b'G', b'5', b'H', b'5', b'I', b'5', b'J', b'5', b'K', b'5', b'L', b'5', b'M', b'5', b'N', b'5', b'O', b'5', b'P', b'5', b'Q', b'5', b'R', b'5', b'S', b'5', b'T', b'5', b'U', b'5', b'V', b'5', b'W', b'5', b'X', b'5', b'Y', b'5', b'Z', b'6', b'0', b'6', b'1', b'6', b'2', b'6', b'3', b'6', b'4', b'6', b'5', b'6', b'6', b'6', b'7', b'6', b'8', b'6', b'9', b'6', b'A', b'6', b'B', b'6', b'C', b'6', b'D', b'6', b'E', b'6', b'F', b'6', b'G', b'6', b'H', b'6', b'I', b'6', b'J', b'6', b'K', b'6', b'L', b'6', b'M', b'6', b'N', b'6', b'O', b'6', b'P', b'6', b'Q', b'6', b'R', b'6', b'S', b'6', b'T', b'6', b'U', b'6', b'V', b'6', b'W', b'6', b'X', b'6', b'Y', b'6', b'Z', b'7', b'0', b'7', b'1', b'7', b'2', b'7', b'3', b'7', b'4', b'7', b'5', b'7', b'6', b'7', b'7', b'7', b'8', b'7', b'9', b'7', b'A', b'7', b'B', b'7', b'C', b'7', b'D', b'7', b'E', b'7', b'F', b'7', b'G', b'7', b'H', b'7', b'I', b'7', b'J', b'7', b'K', b'7', b'L', b'7', b'M', b'7', b'N', b'7', b'O', b'7', b'P', b'7', b'Q', b'7', b'R', b'7', b'S', b'7', b'T', b'7', b'U', b'7', b'V', b'7', b'W', b'7', b'X', b'7', b'Y', b'7', b'Z', b'8', b'0', b'8', b'1', b'8', b'2', b'8', b'3', b'8', b'4', b'8', b'5', b'8', b'6', b'8', b'7', b'8', b'8', b'8', b'9', b'8', b'A', b'8', b'B', b'8', b'C', b'8', b'D', b'8', b'E', b'8', b'F', b'8', b'G', b'8', b'H', b'8', b'I', b'8', b'J', b'8', b'K', b'8', b'L', b'8', b'M', b'8', b'N', b'8', b'O', b'8', b'P', b'8', b'Q', b'8', b'R', b'8', b'S', b'8', b'T', b'8', b'U', b'8', b'V', b'8', b'W', b'8', b'X', b'8', b'Y', b'8', b'Z', b'9', b'0', b'9', b'1', b'9', b'2', b'9', b'3', b'9', b'4', b'9', b'5', b'9', b'6', b'9', b'7', b'9', b'8', b'9', b'9', b'9', b'A', b'9', b'B', b'9', b'C', b'9', b'D', b'9', b'E', b'9', b'F', b'9', b'G', b'9', b'H', b'9', b'I', b'9', b'J', b'9', b'K', b'9', b'L', b'9', b'M', b'9', b'N', b'9', b'O', b'9', b'P', b'9', b'Q', b'9', b'R', b'9', b'S', b'9', b'T', b'9', b'U', b'9', b'V', b'9', b'W', b'9', b'X', b'9', b'Y', b'9', b'Z', b'A', b'0', b'A', b'1', b'A', b'2', b'A', b'3', b'A', b'4', b'A', b'5', b'A', b'6', b'A', b'7', b'A', b'8', b'A', b'9', b'A', b'A', b'A', b'B', b'A', b'C', b'A', b'D', b'A', b'E', b'A', b'F', b'A', b'G', b'A', b'H', b'A', b'I', b'A', b'J', b'A', b'K', b'A', b'L', b'A', b'M', b'A', b'N', b'A', b'O', b'A', b'P', b'A', b'Q', b'A', b'R', b'A', b'S', b'A', b'T', b'A', b'U', b'A', b'V', b'A', b'W', b'A', b'X', b'A', b'Y', b'A', b'Z', b'B', b'0', b'B', b'1', b'B', b'2', b'B', b'3', b'B', b'4', b'B', b'5', b'B', b'6', b'B', b'7', b'B', b'8', b'B', b'9', b'B', b'A', b'B', b'B', b'B', b'C', b'B', b'D', b'B', b'E', b'B', b'F', b'B', b'G', b'B', b'H', b'B', b'I', b'B', b'J', b'B', b'K', b'B', b'L', b'B', b'M', b'B', b'N', b'B', b'O', b'B', b'P', b'B', b'Q', b'B', b'R', b'B', b'S', b'B', b'T', b'B', b'U', b'B', b'V', b'B', b'W', b'B', b'X', b'B', b'Y', b'B', b'Z', b'C', b'0', b'C', b'1', b'C', b'2', b'C', b'3', b'C', b'4', b'C', b'5', b'C', b'6', b'C', b'7', b'C', b'8', b'C', b'9', b'C', b'A', b'C', b'B', b'C', b'C', b'C', b'D', b'C', b'E', b'C', b'F', b'C', b'G', b'C', b'H', b'C', b'I', b'C', b'J', b'C', b'K', b'C', b'L', b'C', b'M', b'C', b'N', b'C', b'O', b'C', b'P', b'C', b'Q', b'C', b'R', b'C', b'S', b'C', b'T', b'C', b'U', b'C', b'V', b'C', b'W', b'C', b'X', b'C', b'Y', b'C', b'Z', b'D', b'0', b'D', b'1', b'D', b'2', b'D', b'3', b'D', b'4', b'D', b'5', b'D', b'6', b'D', b'7', b'D', b'8', b'D', b'9', b'D', b'A', b'D', b'B', b'D', b'C', b'D', b'D', b'D', b'E', b'D', b'F', b'D', b'G', b'D', b'H', b'D', b'I', b'D', b'J', b'D', b'K', b'D', b'L', b'D', b'M', b'D', b'N', b'D', b'O', b'D', b'P', b'D', b'Q', b'D', b'R', b'D', b'S', b'D', b'T', b'D', b'U', b'D', b'V', b'D', b'W', b'D', b'X', b'D', b'Y', b'D', b'Z', b'E', b'0', b'E', b'1', b'E', b'2', b'E', b'3', b'E', b'4', b'E', b'5', b'E', b'6', b'E', b'7', b'E', b'8', b'E', b'9', b'E', b'A', b'E', b'B', b'E', b'C', b'E', b'D', b'E', b'E', b'E', b'F', b'E', b'G', b'E', b'H', b'E', b'I', b'E', b'J', b'E', b'K', b'E', b'L', b'E', b'M', b'E', b'N', b'E', b'O', b'E', b'P', b'E', b'Q', b'E', b'R', b'E', b'S', b'E', b'T', b'E', b'U', b'E', b'V', b'E', b'W', b'E', b'X', b'E', b'Y', b'E', b'Z', b'F', b'0', b'F', b'1', b'F', b'2', b'F', b'3', b'F', b'4', b'F', b'5', b'F', b'6', b'F', b'7', b'F', b'8', b'F', b'9', b'F', b'A', b'F', b'B', b'F', b'C', b'F', b'D', b'F', b'E', b'F', b'F', b'F', b'G', b'F', b'H', b'F', b'I', b'F', b'J', b'F', b'K', b'F', b'L', b'F', b'M', b'F', b'N', b'F', b'O', b'F', b'P', b'F', b'Q', b'F', b'R', b'F', b'S', b'F', b'T', b'F', b'U', b'F', b'V', b'F', b'W', b'F', b'X', b'F', b'Y', b'F', b'Z', b'G', b'0', b'G', b'1', b'G', b'2', b'G', b'3', b'G', b'4', b'G', b'5', b'G', b'6', b'G', b'7', b'G', b'8', b'G', b'9', b'G', b'A', b'G', b'B', b'G', b'C', b'G', b'D', b'G', b'E', b'G', b'F', b'G', b'G', b'G', b'H', b'G', b'I', b'G', b'J', b'G', b'K', b'G', b'L', b'G', b'M', b'G', b'N', b'G', b'O', b'G', b'P', b'G', b'Q', b'G', b'R', b'G', b'S', b'G', b'T', b'G', b'U', b'G', b'V', b'G', b'W', b'G', b'X', b'G', b'Y', b'G', b'Z', b'H', b'0', b'H', b'1', b'H', b'2', b'H', b'3', b'H', b'4', b'H', b'5', b'H', b'6', b'H', b'7', b'H', b'8', b'H', b'9', b'H', b'A', b'H', b'B', b'H', b'C', b'H', b'D', b'H', b'E', b'H', b'F', b'H', b'G', b'H', b'H', b'H', b'I', b'H', b'J', b'H', b'K', b'H', b'L', b'H', b'M', b'H', b'N', b'H', b'O', b'H', b'P', b'H', b'Q', b'H', b'R', b'H', b'S', b'H', b'T', b'H', b'U', b'H', b'V', b'H', b'W', b'H', b'X', b'H', b'Y', b'H', b'Z', b'I', b'0', b'I', b'1', b'I', b'2', b'I', b'3', b'I', b'4', b'I', b'5', b'I', b'6', b'I', b'7', b'I', b'8', b'I', b'9', b'I', b'A', b'I', b'B', b'I', b'C', b'I', b'D', b'I', b'E', b'I', b'F', b'I', b'G', b'I', b'H', b'I', b'I', b'I', b'J', b'I', b'K', b'I', b'L', b'I', b'M', b'I', b'N', b'I', b'O', b'I', b'P', b'I', b'Q', b'I', b'R', b'I', b'S', b'I', b'T', b'I', b'U', b'I', b'V', b'I', b'W', b'I', b'X', b'I', b'Y', b'I', b'Z', b'J', b'0', b'J', b'1', b'J', b'2', b'J', b'3', b'J', b'4', b'J', b'5', b'J', b'6', b'J', b'7', b'J', b'8', b'J', b'9', b'J', b'A', b'J', b'B', b'J', b'C', b'J', b'D', b'J', b'E', b'J', b'F', b'J', b'G', b'J', b'H', b'J', b'I', b'J', b'J', b'J', b'K', b'J', b'L', b'J', b'M', b'J', b'N', b'J', b'O', b'J', b'P', b'J', b'Q', b'J', b'R', b'J', b'S', b'J', b'T', b'J', b'U', b'J', b'V', b'J', b'W', b'J', b'X', b'J', b'Y', b'J', b'Z', b'K', b'0', b'K', b'1', b'K', b'2', b'K', b'3', b'K', b'4', b'K', b'5', b'K', b'6', b'K', b'7', b'K', b'8', b'K', b'9', b'K', b'A', b'K', b'B', b'K', b'C', b'K', b'D', b'K', b'E', b'K', b'F', b'K', b'G', b'K', b'H', b'K', b'I', b'K', b'J', b'K', b'K', b'K', b'L', b'K', b'M', b'K', b'N', b'K', b'O', b'K', b'P', b'K', b'Q', b'K', b'R', b'K', b'S', b'K', b'T', b'K', b'U', b'K', b'V', b'K', b'W', b'K', b'X', b'K', b'Y', b'K', b'Z', b'L', b'0', b'L', b'1', b'L', b'2', b'L', b'3', b'L', b'4', b'L', b'5', b'L', b'6', b'L', b'7', b'L', b'8', b'L', b'9', b'L', b'A', b'L', b'B', b'L', b'C', b'L', b'D', b'L', b'E', b'L', b'F', b'L', b'G', b'L', b'H', b'L', b'I', b'L', b'J', b'L', b'K', b'L', b'L', b'L', b'M', b'L', b'N', b'L', b'O', b'L', b'P', b'L', b'Q', b'L', b'R', b'L', b'S', b'L', b'T', b'L', b'U', b'L', b'V', b'L', b'W', b'L', b'X', b'L', b'Y', b'L', b'Z', b'M', b'0', b'M', b'1', b'M', b'2', b'M', b'3', b'M', b'4', b'M', b'5', b'M', b'6', b'M', b'7', b'M', b'8', b'M', b'9', b'M', b'A', b'M', b'B', b'M', b'C', b'M', b'D', b'M', b'E', b'M', b'F', b'M', b'G', b'M', b'H', b'M', b'I', b'M', b'J', b'M', b'K', b'M', b'L', b'M', b'M', b'M', b'N', b'M', b'O', b'M', b'P', b'M', b'Q', b'M', b'R', b'M', b'S', b'M', b'T', b'M', b'U', b'M', b'V', b'M', b'W', b'M', b'X', b'M', b'Y', b'M', b'Z', b'N', b'0', b'N', b'1', b'N', b'2', b'N', b'3', b'N', b'4', b'N', b'5', b'N', b'6', b'N', b'7', b'N', b'8', b'N', b'9', b'N', b'A', b'N', b'B', b'N', b'C', b'N', b'D', b'N', b'E', b'N', b'F', b'N', b'G', b'N', b'H', b'N', b'I', b'N', b'J', b'N', b'K', b'N', b'L', b'N', b'M', b'N', b'N', b'N', b'O', b'N', b'P', b'N', b'Q', b'N', b'R', b'N', b'S', b'N', b'T', b'N', b'U', b'N', b'V', b'N', b'W', b'N', b'X', b'N', b'Y', b'N', b'Z', b'O', b'0', b'O', b'1', b'O', b'2', b'O', b'3', b'O', b'4', b'O', b'5', b'O', b'6', b'O', b'7', b'O', b'8', b'O', b'9', b'O', b'A', b'O', b'B', b'O', b'C', b'O', b'D', b'O', b'E', b'O', b'F', b'O', b'G', b'O', b'H', b'O', b'I', b'O', b'J', b'O', b'K', b'O', b'L', b'O', b'M', b'O', b'N', b'O', b'O', b'O', b'P', b'O', b'Q', b'O', b'R', b'O', b'S', b'O', b'T', b'O', b'U', b'O', b'V', b'O', b'W', b'O', b'X', b'O', b'Y', b'O', b'Z', b'P', b'0', b'P', b'1', b'P', b'2', b'P', b'3', b'P', b'4', b'P', b'5', b'P', b'6', b'P', b'7', b'P', b'8', b'P', b'9', b'P', b'A', b'P', b'B', b'P', b'C', b'P', b'D', b'P', b'E', b'P', b'F', b'P', b'G', b'P', b'H', b'P', b'I', b'P', b'J', b'P', b'K', b'P', b'L', b'P', b'M', b'P', b'N', b'P', b'O', b'P', b'P', b'P', b'Q', b'P', b'R', b'P', b'S', b'P', b'T', b'P', b'U', b'P', b'V', b'P', b'W', b'P', b'X', b'P', b'Y', b'P', b'Z', b'Q', b'0', b'Q', b'1', b'Q', b'2', b'Q', b'3', b'Q', b'4', b'Q', b'5', b'Q', b'6', b'Q', b'7', b'Q', b'8', b'Q', b'9', b'Q', b'A', b'Q', b'B', b'Q', b'C', b'Q', b'D', b'Q', b'E', b'Q', b'F', b'Q', b'G', b'Q', b'H', b'Q', b'I', b'Q', b'J', b'Q', b'K', b'Q', b'L', b'Q', b'M', b'Q', b'N', b'Q', b'O', b'Q', b'P', b'Q', b'Q', b'Q', b'R', b'Q', b'S', b'Q', b'T', b'Q', b'U', b'Q', b'V', b'Q', b'W', b'Q', b'X', b'Q', b'Y', b'Q', b'Z', b'R', b'0', b'R', b'1', b'R', b'2', b'R', b'3', b'R', b'4', b'R', b'5', b'R', b'6', b'R', b'7', b'R', b'8', b'R', b'9', b'R', b'A', b'R', b'B', b'R', b'C', b'R', b'D', b'R', b'E', b'R', b'F', b'R', b'G', b'R', b'H', b'R', b'I', b'R', b'J', b'R', b'K', b'R', b'L', b'R', b'M', b'R', b'N', b'R', b'O', b'R', b'P', b'R', b'Q', b'R', b'R', b'R', b'S', b'R', b'T', b'R', b'U', b'R', b'V', b'R', b'W', b'R', b'X', b'R', b'Y', b'R', b'Z', b'S', b'0', b'S', b'1', b'S', b'2', b'S', b'3', b'S', b'4', b'S', b'5', b'S', b'6', b'S', b'7', b'S', b'8', b'S', b'9', b'S', b'A', b'S', b'B', b'S', b'C', b'S', b'D', b'S', b'E', b'S', b'F', b'S', b'G', b'S', b'H', b'S', b'I', b'S', b'J', b'S', b'K', b'S', b'L', b'S', b'M', b'S', b'N', b'S', b'O', b'S', b'P', b'S', b'Q', b'S', b'R', b'S', b'S', b'S', b'T', b'S', b'U', b'S', b'V', b'S', b'W', b'S', b'X', b'S', b'Y', b'S', b'Z', b'T', b'0', b'T', b'1', b'T', b'2', b'T', b'3', b'T', b'4', b'T', b'5', b'T', b'6', b'T', b'7', b'T', b'8', b'T', b'9', b'T', b'A', b'T', b'B', b'T', b'C', b'T', b'D', b'T', b'E', b'T', b'F', b'T', b'G', b'T', b'H', b'T', b'I', b'T', b'J', b'T', b'K', b'T', b'L', b'T', b'M', b'T', b'N', b'T', b'O', b'T', b'P', b'T', b'Q', b'T', b'R', b'T', b'S', b'T', b'T', b'T', b'U', b'T', b'V', b'T', b'W', b'T', b'X', b'T', b'Y', b'T', b'Z', b'U', b'0', b'U', b'1', b'U', b'2', b'U', b'3', b'U', b'4', b'U', b'5', b'U', b'6', b'U', b'7', b'U', b'8', b'U', b'9', b'U', b'A', b'U', b'B', b'U', b'C', b'U', b'D', b'U', b'E', b'U', b'F', b'U', b'G', b'U', b'H', b'U', b'I', b'U', b'J', b'U', b'K', b'U', b'L', b'U', b'M', b'U', b'N', b'U', b'O', b'U', b'P', b'U', b'Q', b'U', b'R', b'U', b'S', b'U', b'T', b'U', b'U', b'U', b'V', b'U', b'W', b'U', b'X', b'U', b'Y', b'U', b'Z', b'V', b'0', b'V', b'1', b'V', b'2', b'V', b'3', b'V', b'4', b'V', b'5', b'V', b'6', b'V', b'7', b'V', b'8', b'V', b'9', b'V', b'A', b'V', b'B', b'V', b'C', b'V', b'D', b'V', b'E', b'V', b'F', b'V', b'G', b'V', b'H', b'V', b'I', b'V', b'J', b'V', b'K', b'V', b'L', b'V', b'M', b'V', b'N', b'V', b'O', b'V', b'P', b'V', b'Q', b'V', b'R', b'V', b'S', b'V', b'T', b'V', b'U', b'V', b'V', b'V', b'W', b'V', b'X', b'V', b'Y', b'V', b'Z', b'W', b'0', b'W', b'1', b'W', b'2', b'W', b'3', b'W', b'4', b'W', b'5', b'W', b'6', b'W', b'7', b'W', b'8', b'W', b'9', b'W', b'A', b'W', b'B', b'W', b'C', b'W', b'D', b'W', b'E', b'W', b'F', b'W', b'G', b'W', b'H', b'W', b'I', b'W', b'J', b'W', b'K', b'W', b'L', b'W', b'M', b'W', b'N', b'W', b'O', b'W', b'P', b'W', b'Q', b'W', b'R', b'W', b'S', b'W', b'T', b'W', b'U', b'W', b'V', b'W', b'W', b'W', b'X', b'W', b'Y', b'W', b'Z', b'X', b'0', b'X', b'1', b'X', b'2', b'X', b'3', b'X', b'4', b'X', b'5', b'X', b'6', b'X', b'7', b'X', b'8', b'X', b'9', b'X', b'A', b'X', b'B', b'X', b'C', b'X', b'D', b'X', b'E', b'X', b'F', b'X', b'G', b'X', b'H', b'X', b'I', b'X', b'J', b'X', b'K', b'X', b'L', b'X', b'M', b'X', b'N', b'X', b'O', b'X', b'P', b'X', b'Q', b'X', b'R', b'X', b'S', b'X', b'T', b'X', b'U', b'X', b'V', b'X', b'W', b'X', b'X', b'X', b'Y', b'X', b'Z', b'Y', b'0', b'Y', b'1', b'Y', b'2', b'Y', b'3', b'Y', b'4', b'Y', b'5', b'Y', b'6', b'Y', b'7', b'Y', b'8', b'Y', b'9', b'Y', b'A', b'Y', b'B', b'Y', b'C', b'Y', b'D', b'Y', b'E', b'Y', b'F', b'Y', b'G', b'Y', b'H', b'Y', b'I', b'Y', b'J', b'Y', b'K', b'Y', b'L', b'Y', b'M', b'Y', b'N', b'Y', b'O', b'Y', b'P', b'Y', b'Q', b'Y', b'R', b'Y', b'S', b'Y', b'T', b'Y', b'U', b'Y', b'V', b'Y', b'W', b'Y', b'X', b'Y', b'Y', b'Y', b'Z', b'Z', b'0', b'Z', b'1', b'Z', b'2', b'Z', b'3', b'Z', b'4', b'Z', b'5', b'Z', b'6', b'Z', b'7', b'Z', b'8', b'Z', b'9', b'Z', b'A', b'Z', b'B', b'Z', b'C', b'Z', b'D', b'Z', b'E', b'Z', b'F', b'Z', b'G', b'Z', b'H', b'Z', b'I', b'Z', b'J', b'Z', b'K', b'Z', b'L', b'Z', b'M', b'Z', b'N', b'Z', b'O', b'Z', b'P', b'Z', b'Q', b'Z', b'R', b'Z', b'S', b'Z', b'T', b'Z', b'U', b'Z', b'V', b'Z', b'W', b'Z', b'X', b'Z', b'Y', b'Z', b'Z'];
75 }}  // cfg_if
76 
77 // EXACT EXPONENT
78 
79 /// Get exact exponent limit for radix.
80 pub(crate) trait ExactExponent {
81     /// Get min and max exponent limits (exact) from radix.
exponent_limit<T: Integer>(radix: T) -> (i32, i32)82     fn exponent_limit<T: Integer>(radix: T) -> (i32, i32);
83 
84     /// Get the number of digits that can be shifted from exponent to mantissa.
mantissa_limit<T: Integer>(radix: T) -> i3285     fn mantissa_limit<T: Integer>(radix: T) -> i32;
86 }
87 
88 impl ExactExponent for f32 {
89     #[inline]
exponent_limit<T: Integer>(radix: T) -> (i32, i32)90     fn exponent_limit<T: Integer>(radix: T) -> (i32, i32) {
91         debug_assert_radix!(radix);
92         #[cfg(not(feature = "radix"))] {
93             (-10, 10)
94         }
95 
96         #[cfg(feature = "radix")] {
97             match radix.as_i32() {
98                 2  => (-149, 127),
99                 3  => (-15, 15),
100                 4  => (-74, 63),
101                 5  => (-10, 10),
102                 6  => (-15, 15),
103                 7  => (-8, 8),
104                 8  => (-49, 42),
105                 9  => (-7, 7),
106                 10 => (-10, 10),
107                 11 => (-6, 6),
108                 12 => (-15, 15),
109                 13 => (-6, 6),
110                 14 => (-8, 8),
111                 15 => (-6, 6),
112                 16 => (-37, 31),
113                 17 => (-5, 5),
114                 18 => (-7, 7),
115                 19 => (-5, 5),
116                 20 => (-10, 10),
117                 21 => (-5, 5),
118                 22 => (-6, 6),
119                 23 => (-5, 5),
120                 24 => (-15, 15),
121                 25 => (-5, 5),
122                 26 => (-6, 6),
123                 27 => (-5, 5),
124                 28 => (-8, 8),
125                 29 => (-4, 4),
126                 30 => (-6, 6),
127                 31 => (-4, 4),
128                 32 => (-29, 25),
129                 33 => (-4, 4),
130                 34 => (-5, 5),
131                 35 => (-4, 4),
132                 36 => (-7, 7),
133                 // Invalid radix
134                 _  => unreachable!(),
135             }
136         }
137     }
138 
139     #[inline]
mantissa_limit<T: Integer>(radix: T) -> i32140     fn mantissa_limit<T: Integer>(radix: T) -> i32 {
141         debug_assert_radix!(radix);
142         #[cfg(not(feature = "radix"))] {
143             7
144         }
145 
146         #[cfg(feature = "radix")] {
147             match radix.as_i32() {
148                 2  => 23,
149                 3  => 15,
150                 4  => 11,
151                 5  => 10,
152                 6  => 9,
153                 7  => 8,
154                 8  => 7,
155                 9  => 7,
156                 10 => 7,
157                 11 => 6,
158                 12 => 6,
159                 13 => 6,
160                 14 => 6,
161                 15 => 6,
162                 16 => 5,
163                 17 => 5,
164                 18 => 5,
165                 19 => 5,
166                 20 => 5,
167                 21 => 5,
168                 22 => 5,
169                 23 => 5,
170                 24 => 5,
171                 25 => 5,
172                 26 => 5,
173                 27 => 5,
174                 28 => 4,
175                 29 => 4,
176                 30 => 4,
177                 31 => 4,
178                 32 => 4,
179                 33 => 4,
180                 34 => 4,
181                 35 => 4,
182                 36 => 4,
183                 // Invalid radix
184                 _  => unreachable!(),
185             }
186         }
187     }
188 }
189 
190 /// Precalculated min and max exponents for values exactly representable as f64.
191 ///
192 /// Table of values where `radix**min` and `radix**max` are the limits of types
193 /// exactly representable as an f64.
194 
195 impl ExactExponent for f64 {
196     #[inline]
exponent_limit<T: Integer>(radix: T) -> (i32, i32)197     fn exponent_limit<T: Integer>(radix: T) -> (i32, i32) {
198         debug_assert_radix!(radix);
199         #[cfg(not(feature = "radix"))] {
200             (-22, 22)
201         }
202 
203         #[cfg(feature = "radix")] {
204             match radix.as_i32() {
205                 2  => (-1074, 1023),
206                 3  => (-33, 33),
207                 4  => (-537, 511),
208                 5  => (-22, 22),
209                 6  => (-33, 33),
210                 7  => (-18, 18),
211                 8  => (-358, 341),
212                 9  => (-16, 16),
213                 10 => (-22, 22),
214                 11 => (-15, 15),
215                 12 => (-33, 33),
216                 13 => (-14, 14),
217                 14 => (-18, 18),
218                 15 => (-13, 13),
219                 16 => (-268, 255),
220                 17 => (-12, 12),
221                 18 => (-16, 16),
222                 19 => (-12, 12),
223                 20 => (-22, 22),
224                 21 => (-12, 12),
225                 22 => (-15, 15),
226                 23 => (-11, 11),
227                 24 => (-33, 33),
228                 25 => (-11, 11),
229                 26 => (-14, 14),
230                 27 => (-11, 11),
231                 28 => (-18, 18),
232                 29 => (-10, 10),
233                 30 => (-13, 13),
234                 31 => (-10, 10),
235                 32 => (-214, 204),
236                 33 => (-10, 10),
237                 34 => (-12, 12),
238                 35 => (-10, 10),
239                 36 => (-16, 16),
240                 // Invalid radix
241                 _  => unreachable!(),
242             }
243         }
244     }
245 
246     #[inline]
mantissa_limit<T: Integer>(radix: T) -> i32247     fn mantissa_limit<T: Integer>(radix: T) -> i32 {
248         debug_assert_radix!(radix);
249         #[cfg(not(feature = "radix"))] {
250             15
251         }
252 
253         #[cfg(feature = "radix")] {
254             match radix.as_i32() {
255                 2  => 52,
256                 3  => 33,
257                 4  => 26,
258                 5  => 22,
259                 6  => 20,
260                 7  => 18,
261                 8  => 17,
262                 9  => 16,
263                 10 => 15,
264                 11 => 15,
265                 12 => 14,
266                 13 => 14,
267                 14 => 13,
268                 15 => 13,
269                 16 => 13,
270                 17 => 12,
271                 18 => 12,
272                 19 => 12,
273                 20 => 12,
274                 21 => 12,
275                 22 => 11,
276                 23 => 11,
277                 24 => 11,
278                 25 => 11,
279                 26 => 11,
280                 27 => 11,
281                 28 => 11,
282                 29 => 10,
283                 30 => 10,
284                 31 => 10,
285                 32 => 10,
286                 33 => 10,
287                 34 => 10,
288                 35 => 10,
289                 36 => 10,
290                 // Invalid radix
291                 _  => unreachable!(),
292             }
293         }
294     }
295 }
296 
297 // Conditionally compile the radix POWI tables.
298 // These tables contain all the values that can be exactly represented
299 // by a given float of a certain size.
300 //
301 // Total array storage: 2.1 KB (f32) + 21.5 KB (f64).
302 // The total performance enhancements save ~350+ clock cycles (x86) or
303 // ~100 clock cycles (x87) for the FYL2X and F2XM1 instructions, require
304 // to compute a power. This should be a significant performance win.
305 
306 cfg_if! {
307 if #[cfg(feature = "correct")] {
308 // TRANSMUTE
309 
310 /// Hacky transmute for 32-bit and 64-bit floats.
311 ///
312 /// Remove when `f32::from_bits` and `f64::from_bits` become const
313 /// in stable.
314 #[cfg(feature = "radix")]
315 union Transmute<U: Copy, F: Copy> {
316     u: U,
317     f: F,
318 }
319 
320 // TABLE POW
321 
322 /// Calculate powers using pre-calculated lookup tables.
323 /// No error-checking occurs, these methods are not safe.
324 pub(crate) trait TablePower {
325     /// Exponent
326     const POW2_EXPONENT_BIAS: i32;
327 
328     /// Get power of 2 from exponent.
329     #[cfg(feature = "radix")]
330     fn table_pow2(exponent: i32) -> Self;
331 
332     /// Get power of 2 from exponent.
333     fn table_pow<T: Integer>(radix: T, exponent: i32) -> Self;
334 }
335 
336 // F32
337 
338 /// Hacky transmute for 32-bit values.
339 #[cfg(feature = "radix")]
340 type F32Transmute = Transmute<u32, f32>;
341 
342 /// Precalculated values of 2**i for i in range [-149, 127].
343 #[cfg(feature = "radix")]
344 const F32_POW2: [f32; 277] = unsafe {[
345     // Denormal floats ([-149, -127])
346     F32Transmute { u: 0x00000001 }.f,
347     F32Transmute { u: 0x00000002 }.f,
348     F32Transmute { u: 0x00000004 }.f,
349     F32Transmute { u: 0x00000008 }.f,
350     F32Transmute { u: 0x00000010 }.f,
351     F32Transmute { u: 0x00000020 }.f,
352     F32Transmute { u: 0x00000040 }.f,
353     F32Transmute { u: 0x00000080 }.f,
354     F32Transmute { u: 0x00000100 }.f,
355     F32Transmute { u: 0x00000200 }.f,
356     F32Transmute { u: 0x00000400 }.f,
357     F32Transmute { u: 0x00000800 }.f,
358     F32Transmute { u: 0x00001000 }.f,
359     F32Transmute { u: 0x00002000 }.f,
360     F32Transmute { u: 0x00004000 }.f,
361     F32Transmute { u: 0x00008000 }.f,
362     F32Transmute { u: 0x00010000 }.f,
363     F32Transmute { u: 0x00020000 }.f,
364     F32Transmute { u: 0x00040000 }.f,
365     F32Transmute { u: 0x00080000 }.f,
366     F32Transmute { u: 0x00100000 }.f,
367     F32Transmute { u: 0x00200000 }.f,
368     F32Transmute { u: 0x00400000 }.f,
369 
370     // Regular floats (exponent only, [-126, 127])
371     F32Transmute { u: 0x00800000 }.f,
372     F32Transmute { u: 0x01000000 }.f,
373     F32Transmute { u: 0x01800000 }.f,
374     F32Transmute { u: 0x02000000 }.f,
375     F32Transmute { u: 0x02800000 }.f,
376     F32Transmute { u: 0x03000000 }.f,
377     F32Transmute { u: 0x03800000 }.f,
378     F32Transmute { u: 0x04000000 }.f,
379     F32Transmute { u: 0x04800000 }.f,
380     F32Transmute { u: 0x05000000 }.f,
381     F32Transmute { u: 0x05800000 }.f,
382     F32Transmute { u: 0x06000000 }.f,
383     F32Transmute { u: 0x06800000 }.f,
384     F32Transmute { u: 0x07000000 }.f,
385     F32Transmute { u: 0x07800000 }.f,
386     F32Transmute { u: 0x08000000 }.f,
387     F32Transmute { u: 0x08800000 }.f,
388     F32Transmute { u: 0x09000000 }.f,
389     F32Transmute { u: 0x09800000 }.f,
390     F32Transmute { u: 0x0A000000 }.f,
391     F32Transmute { u: 0x0A800000 }.f,
392     F32Transmute { u: 0x0B000000 }.f,
393     F32Transmute { u: 0x0B800000 }.f,
394     F32Transmute { u: 0x0C000000 }.f,
395     F32Transmute { u: 0x0C800000 }.f,
396     F32Transmute { u: 0x0D000000 }.f,
397     F32Transmute { u: 0x0D800000 }.f,
398     F32Transmute { u: 0x0E000000 }.f,
399     F32Transmute { u: 0x0E800000 }.f,
400     F32Transmute { u: 0x0F000000 }.f,
401     F32Transmute { u: 0x0F800000 }.f,
402     F32Transmute { u: 0x10000000 }.f,
403     F32Transmute { u: 0x10800000 }.f,
404     F32Transmute { u: 0x11000000 }.f,
405     F32Transmute { u: 0x11800000 }.f,
406     F32Transmute { u: 0x12000000 }.f,
407     F32Transmute { u: 0x12800000 }.f,
408     F32Transmute { u: 0x13000000 }.f,
409     F32Transmute { u: 0x13800000 }.f,
410     F32Transmute { u: 0x14000000 }.f,
411     F32Transmute { u: 0x14800000 }.f,
412     F32Transmute { u: 0x15000000 }.f,
413     F32Transmute { u: 0x15800000 }.f,
414     F32Transmute { u: 0x16000000 }.f,
415     F32Transmute { u: 0x16800000 }.f,
416     F32Transmute { u: 0x17000000 }.f,
417     F32Transmute { u: 0x17800000 }.f,
418     F32Transmute { u: 0x18000000 }.f,
419     F32Transmute { u: 0x18800000 }.f,
420     F32Transmute { u: 0x19000000 }.f,
421     F32Transmute { u: 0x19800000 }.f,
422     F32Transmute { u: 0x1A000000 }.f,
423     F32Transmute { u: 0x1A800000 }.f,
424     F32Transmute { u: 0x1B000000 }.f,
425     F32Transmute { u: 0x1B800000 }.f,
426     F32Transmute { u: 0x1C000000 }.f,
427     F32Transmute { u: 0x1C800000 }.f,
428     F32Transmute { u: 0x1D000000 }.f,
429     F32Transmute { u: 0x1D800000 }.f,
430     F32Transmute { u: 0x1E000000 }.f,
431     F32Transmute { u: 0x1E800000 }.f,
432     F32Transmute { u: 0x1F000000 }.f,
433     F32Transmute { u: 0x1F800000 }.f,
434     F32Transmute { u: 0x20000000 }.f,
435     F32Transmute { u: 0x20800000 }.f,
436     F32Transmute { u: 0x21000000 }.f,
437     F32Transmute { u: 0x21800000 }.f,
438     F32Transmute { u: 0x22000000 }.f,
439     F32Transmute { u: 0x22800000 }.f,
440     F32Transmute { u: 0x23000000 }.f,
441     F32Transmute { u: 0x23800000 }.f,
442     F32Transmute { u: 0x24000000 }.f,
443     F32Transmute { u: 0x24800000 }.f,
444     F32Transmute { u: 0x25000000 }.f,
445     F32Transmute { u: 0x25800000 }.f,
446     F32Transmute { u: 0x26000000 }.f,
447     F32Transmute { u: 0x26800000 }.f,
448     F32Transmute { u: 0x27000000 }.f,
449     F32Transmute { u: 0x27800000 }.f,
450     F32Transmute { u: 0x28000000 }.f,
451     F32Transmute { u: 0x28800000 }.f,
452     F32Transmute { u: 0x29000000 }.f,
453     F32Transmute { u: 0x29800000 }.f,
454     F32Transmute { u: 0x2A000000 }.f,
455     F32Transmute { u: 0x2A800000 }.f,
456     F32Transmute { u: 0x2B000000 }.f,
457     F32Transmute { u: 0x2B800000 }.f,
458     F32Transmute { u: 0x2C000000 }.f,
459     F32Transmute { u: 0x2C800000 }.f,
460     F32Transmute { u: 0x2D000000 }.f,
461     F32Transmute { u: 0x2D800000 }.f,
462     F32Transmute { u: 0x2E000000 }.f,
463     F32Transmute { u: 0x2E800000 }.f,
464     F32Transmute { u: 0x2F000000 }.f,
465     F32Transmute { u: 0x2F800000 }.f,
466     F32Transmute { u: 0x30000000 }.f,
467     F32Transmute { u: 0x30800000 }.f,
468     F32Transmute { u: 0x31000000 }.f,
469     F32Transmute { u: 0x31800000 }.f,
470     F32Transmute { u: 0x32000000 }.f,
471     F32Transmute { u: 0x32800000 }.f,
472     F32Transmute { u: 0x33000000 }.f,
473     F32Transmute { u: 0x33800000 }.f,
474     F32Transmute { u: 0x34000000 }.f,
475     F32Transmute { u: 0x34800000 }.f,
476     F32Transmute { u: 0x35000000 }.f,
477     F32Transmute { u: 0x35800000 }.f,
478     F32Transmute { u: 0x36000000 }.f,
479     F32Transmute { u: 0x36800000 }.f,
480     F32Transmute { u: 0x37000000 }.f,
481     F32Transmute { u: 0x37800000 }.f,
482     F32Transmute { u: 0x38000000 }.f,
483     F32Transmute { u: 0x38800000 }.f,
484     F32Transmute { u: 0x39000000 }.f,
485     F32Transmute { u: 0x39800000 }.f,
486     F32Transmute { u: 0x3A000000 }.f,
487     F32Transmute { u: 0x3A800000 }.f,
488     F32Transmute { u: 0x3B000000 }.f,
489     F32Transmute { u: 0x3B800000 }.f,
490     F32Transmute { u: 0x3C000000 }.f,
491     F32Transmute { u: 0x3C800000 }.f,
492     F32Transmute { u: 0x3D000000 }.f,
493     F32Transmute { u: 0x3D800000 }.f,
494     F32Transmute { u: 0x3E000000 }.f,
495     F32Transmute { u: 0x3E800000 }.f,
496     F32Transmute { u: 0x3F000000 }.f,
497     F32Transmute { u: 0x3F800000 }.f,
498     F32Transmute { u: 0x40000000 }.f,
499     F32Transmute { u: 0x40800000 }.f,
500     F32Transmute { u: 0x41000000 }.f,
501     F32Transmute { u: 0x41800000 }.f,
502     F32Transmute { u: 0x42000000 }.f,
503     F32Transmute { u: 0x42800000 }.f,
504     F32Transmute { u: 0x43000000 }.f,
505     F32Transmute { u: 0x43800000 }.f,
506     F32Transmute { u: 0x44000000 }.f,
507     F32Transmute { u: 0x44800000 }.f,
508     F32Transmute { u: 0x45000000 }.f,
509     F32Transmute { u: 0x45800000 }.f,
510     F32Transmute { u: 0x46000000 }.f,
511     F32Transmute { u: 0x46800000 }.f,
512     F32Transmute { u: 0x47000000 }.f,
513     F32Transmute { u: 0x47800000 }.f,
514     F32Transmute { u: 0x48000000 }.f,
515     F32Transmute { u: 0x48800000 }.f,
516     F32Transmute { u: 0x49000000 }.f,
517     F32Transmute { u: 0x49800000 }.f,
518     F32Transmute { u: 0x4A000000 }.f,
519     F32Transmute { u: 0x4A800000 }.f,
520     F32Transmute { u: 0x4B000000 }.f,
521     F32Transmute { u: 0x4B800000 }.f,
522     F32Transmute { u: 0x4C000000 }.f,
523     F32Transmute { u: 0x4C800000 }.f,
524     F32Transmute { u: 0x4D000000 }.f,
525     F32Transmute { u: 0x4D800000 }.f,
526     F32Transmute { u: 0x4E000000 }.f,
527     F32Transmute { u: 0x4E800000 }.f,
528     F32Transmute { u: 0x4F000000 }.f,
529     F32Transmute { u: 0x4F800000 }.f,
530     F32Transmute { u: 0x50000000 }.f,
531     F32Transmute { u: 0x50800000 }.f,
532     F32Transmute { u: 0x51000000 }.f,
533     F32Transmute { u: 0x51800000 }.f,
534     F32Transmute { u: 0x52000000 }.f,
535     F32Transmute { u: 0x52800000 }.f,
536     F32Transmute { u: 0x53000000 }.f,
537     F32Transmute { u: 0x53800000 }.f,
538     F32Transmute { u: 0x54000000 }.f,
539     F32Transmute { u: 0x54800000 }.f,
540     F32Transmute { u: 0x55000000 }.f,
541     F32Transmute { u: 0x55800000 }.f,
542     F32Transmute { u: 0x56000000 }.f,
543     F32Transmute { u: 0x56800000 }.f,
544     F32Transmute { u: 0x57000000 }.f,
545     F32Transmute { u: 0x57800000 }.f,
546     F32Transmute { u: 0x58000000 }.f,
547     F32Transmute { u: 0x58800000 }.f,
548     F32Transmute { u: 0x59000000 }.f,
549     F32Transmute { u: 0x59800000 }.f,
550     F32Transmute { u: 0x5A000000 }.f,
551     F32Transmute { u: 0x5A800000 }.f,
552     F32Transmute { u: 0x5B000000 }.f,
553     F32Transmute { u: 0x5B800000 }.f,
554     F32Transmute { u: 0x5C000000 }.f,
555     F32Transmute { u: 0x5C800000 }.f,
556     F32Transmute { u: 0x5D000000 }.f,
557     F32Transmute { u: 0x5D800000 }.f,
558     F32Transmute { u: 0x5E000000 }.f,
559     F32Transmute { u: 0x5E800000 }.f,
560     F32Transmute { u: 0x5F000000 }.f,
561     F32Transmute { u: 0x5F800000 }.f,
562     F32Transmute { u: 0x60000000 }.f,
563     F32Transmute { u: 0x60800000 }.f,
564     F32Transmute { u: 0x61000000 }.f,
565     F32Transmute { u: 0x61800000 }.f,
566     F32Transmute { u: 0x62000000 }.f,
567     F32Transmute { u: 0x62800000 }.f,
568     F32Transmute { u: 0x63000000 }.f,
569     F32Transmute { u: 0x63800000 }.f,
570     F32Transmute { u: 0x64000000 }.f,
571     F32Transmute { u: 0x64800000 }.f,
572     F32Transmute { u: 0x65000000 }.f,
573     F32Transmute { u: 0x65800000 }.f,
574     F32Transmute { u: 0x66000000 }.f,
575     F32Transmute { u: 0x66800000 }.f,
576     F32Transmute { u: 0x67000000 }.f,
577     F32Transmute { u: 0x67800000 }.f,
578     F32Transmute { u: 0x68000000 }.f,
579     F32Transmute { u: 0x68800000 }.f,
580     F32Transmute { u: 0x69000000 }.f,
581     F32Transmute { u: 0x69800000 }.f,
582     F32Transmute { u: 0x6A000000 }.f,
583     F32Transmute { u: 0x6A800000 }.f,
584     F32Transmute { u: 0x6B000000 }.f,
585     F32Transmute { u: 0x6B800000 }.f,
586     F32Transmute { u: 0x6C000000 }.f,
587     F32Transmute { u: 0x6C800000 }.f,
588     F32Transmute { u: 0x6D000000 }.f,
589     F32Transmute { u: 0x6D800000 }.f,
590     F32Transmute { u: 0x6E000000 }.f,
591     F32Transmute { u: 0x6E800000 }.f,
592     F32Transmute { u: 0x6F000000 }.f,
593     F32Transmute { u: 0x6F800000 }.f,
594     F32Transmute { u: 0x70000000 }.f,
595     F32Transmute { u: 0x70800000 }.f,
596     F32Transmute { u: 0x71000000 }.f,
597     F32Transmute { u: 0x71800000 }.f,
598     F32Transmute { u: 0x72000000 }.f,
599     F32Transmute { u: 0x72800000 }.f,
600     F32Transmute { u: 0x73000000 }.f,
601     F32Transmute { u: 0x73800000 }.f,
602     F32Transmute { u: 0x74000000 }.f,
603     F32Transmute { u: 0x74800000 }.f,
604     F32Transmute { u: 0x75000000 }.f,
605     F32Transmute { u: 0x75800000 }.f,
606     F32Transmute { u: 0x76000000 }.f,
607     F32Transmute { u: 0x76800000 }.f,
608     F32Transmute { u: 0x77000000 }.f,
609     F32Transmute { u: 0x77800000 }.f,
610     F32Transmute { u: 0x78000000 }.f,
611     F32Transmute { u: 0x78800000 }.f,
612     F32Transmute { u: 0x79000000 }.f,
613     F32Transmute { u: 0x79800000 }.f,
614     F32Transmute { u: 0x7A000000 }.f,
615     F32Transmute { u: 0x7A800000 }.f,
616     F32Transmute { u: 0x7B000000 }.f,
617     F32Transmute { u: 0x7B800000 }.f,
618     F32Transmute { u: 0x7C000000 }.f,
619     F32Transmute { u: 0x7C800000 }.f,
620     F32Transmute { u: 0x7D000000 }.f,
621     F32Transmute { u: 0x7D800000 }.f,
622     F32Transmute { u: 0x7E000000 }.f,
623     F32Transmute { u: 0x7E800000 }.f,
624     F32Transmute { u: 0x7F000000 }.f,
625 ]};
626 
627 /// Precalculated values of radix**i for i in range [0, arr.len()-1].
628 /// Each value can be **exactly** represented as that type.
629 const F32_POW10: [f32; 11] = [1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, 10000000.0, 100000000.0, 1000000000.0, 10000000000.0];
630 
631 #[cfg(feature = "radix")]
632 const F32_POW3: [f32; 16] = [1.0, 3.0, 9.0, 27.0, 81.0, 243.0, 729.0, 2187.0, 6561.0, 19683.0, 59049.0, 177147.0, 531441.0, 1594323.0, 4782969.0, 14348907.0];
633 
634 #[cfg(feature = "radix")]
635 const F32_POW5: [f32; 11] = [1.0, 5.0, 25.0, 125.0, 625.0, 3125.0, 15625.0, 78125.0, 390625.0, 1953125.0, 9765625.0];
636 
637 #[cfg(feature = "radix")]
638 const F32_POW6: [f32; 16] = [1.0, 6.0, 36.0, 216.0, 1296.0, 7776.0, 46656.0, 279936.0, 1679616.0, 10077696.0, 60466176.0, 362797056.0, 2176782336.0, 13060694016.0, 78364164096.0, 470184984576.0];
639 
640 #[cfg(feature = "radix")]
641 const F32_POW7: [f32; 9] = [1.0, 7.0, 49.0, 343.0, 2401.0, 16807.0, 117649.0, 823543.0, 5764801.0];
642 
643 #[cfg(feature = "radix")]
644 const F32_POW9: [f32; 8] = [1.0, 9.0, 81.0, 729.0, 6561.0, 59049.0, 531441.0, 4782969.0];
645 
646 #[cfg(feature = "radix")]
647 const F32_POW11: [f32; 7] = [1.0, 11.0, 121.0, 1331.0, 14641.0, 161051.0, 1771561.0];
648 
649 #[cfg(feature = "radix")]
650 const F32_POW12: [f32; 16] = [1.0, 12.0, 144.0, 1728.0, 20736.0, 248832.0, 2985984.0, 35831808.0, 429981696.0, 5159780352.0, 61917364224.0, 743008370688.0, 8916100448256.0, 106993205379072.0, 1283918464548864.0, 15407021574586368.0];
651 
652 #[cfg(feature = "radix")]
653 const F32_POW13: [f32; 7] = [1.0, 13.0, 169.0, 2197.0, 28561.0, 371293.0, 4826809.0];
654 
655 #[cfg(feature = "radix")]
656 const F32_POW14: [f32; 9] = [1.0, 14.0, 196.0, 2744.0, 38416.0, 537824.0, 7529536.0, 105413504.0, 1475789056.0];
657 
658 #[cfg(feature = "radix")]
659 const F32_POW15: [f32; 7] = [1.0, 15.0, 225.0, 3375.0, 50625.0, 759375.0, 11390625.0];
660 
661 #[cfg(feature = "radix")]
662 const F32_POW17: [f32; 6] = [1.0, 17.0, 289.0, 4913.0, 83521.0, 1419857.0];
663 
664 #[cfg(feature = "radix")]
665 const F32_POW18: [f32; 8] = [1.0, 18.0, 324.0, 5832.0, 104976.0, 1889568.0, 34012224.0, 612220032.0];
666 
667 #[cfg(feature = "radix")]
668 const F32_POW19: [f32; 6] = [1.0, 19.0, 361.0, 6859.0, 130321.0, 2476099.0];
669 
670 #[cfg(feature = "radix")]
671 const F32_POW20: [f32; 11] = [1.0, 20.0, 400.0, 8000.0, 160000.0, 3200000.0, 64000000.0, 1280000000.0, 25600000000.0, 512000000000.0, 10240000000000.0];
672 
673 #[cfg(feature = "radix")]
674 const F32_POW21: [f32; 6] = [1.0, 21.0, 441.0, 9261.0, 194481.0, 4084101.0];
675 
676 #[cfg(feature = "radix")]
677 const F32_POW22: [f32; 7] = [1.0, 22.0, 484.0, 10648.0, 234256.0, 5153632.0, 113379904.0];
678 
679 #[cfg(feature = "radix")]
680 const F32_POW23: [f32; 6] = [1.0, 23.0, 529.0, 12167.0, 279841.0, 6436343.0];
681 
682 #[cfg(feature = "radix")]
683 const F32_POW24: [f32; 16] = [1.0, 24.0, 576.0, 13824.0, 331776.0, 7962624.0, 191102976.0, 4586471424.0, 110075314176.0, 2641807540224.0, 63403380965376.0, 1521681143169024.0, 36520347436056576.0, 876488338465357824.0, 21035720123168587776.0, 504857282956046106624.0];
684 
685 #[cfg(feature = "radix")]
686 const F32_POW25: [f32; 6] = [1.0, 25.0, 625.0, 15625.0, 390625.0, 9765625.0];
687 
688 #[cfg(feature = "radix")]
689 const F32_POW26: [f32; 7] = [1.0, 26.0, 676.0, 17576.0, 456976.0, 11881376.0, 308915776.0];
690 
691 #[cfg(feature = "radix")]
692 const F32_POW27: [f32; 6] = [1.0, 27.0, 729.0, 19683.0, 531441.0, 14348907.0];
693 
694 #[cfg(feature = "radix")]
695 const F32_POW28: [f32; 9] = [1.0, 28.0, 784.0, 21952.0, 614656.0, 17210368.0, 481890304.0, 13492928512.0, 377801998336.0];
696 
697 #[cfg(feature = "radix")]
698 const F32_POW29: [f32; 5] = [1.0, 29.0, 841.0, 24389.0, 707281.0];
699 
700 #[cfg(feature = "radix")]
701 const F32_POW30: [f32; 7] = [1.0, 30.0, 900.0, 27000.0, 810000.0, 24300000.0, 729000000.0];
702 
703 #[cfg(feature = "radix")]
704 const F32_POW31: [f32; 5] = [1.0, 31.0, 961.0, 29791.0, 923521.0];
705 
706 #[cfg(feature = "radix")]
707 const F32_POW33: [f32; 5] = [1.0, 33.0, 1089.0, 35937.0, 1185921.0];
708 
709 #[cfg(feature = "radix")]
710 const F32_POW34: [f32; 6] = [1.0, 34.0, 1156.0, 39304.0, 1336336.0, 45435424.0];
711 
712 #[cfg(feature = "radix")]
713 const F32_POW35: [f32; 5] = [1.0, 35.0, 1225.0, 42875.0, 1500625.0];
714 
715 #[cfg(feature = "radix")]
716 const F32_POW36: [f32; 8] = [1.0, 36.0, 1296.0, 46656.0, 1679616.0, 60466176.0, 2176782336.0, 78364164096.0];
717 
718 // Compile-time guarantees for our tables.
719 const_assert!(F32_POW10[1] / F32_POW10[0] == 10.0);
720 
721 #[cfg(feature = "radix")]
722 const_assert!(F32_POW2[1] / F32_POW2[0] == 2.0);
723 
724 #[cfg(feature = "radix")]
725 const_assert!(F32_POW3[1] / F32_POW3[0] == 3.0);
726 
727 #[cfg(feature = "radix")]
728 const_assert!(F32_POW5[1] / F32_POW5[0] == 5.0);
729 
730 #[cfg(feature = "radix")]
731 const_assert!(F32_POW6[1] / F32_POW6[0] == 6.0);
732 
733 #[cfg(feature = "radix")]
734 const_assert!(F32_POW7[1] / F32_POW7[0] == 7.0);
735 
736 #[cfg(feature = "radix")]
737 const_assert!(F32_POW9[1] / F32_POW9[0] == 9.0);
738 
739 #[cfg(feature = "radix")]
740 const_assert!(F32_POW11[1] / F32_POW11[0] == 11.0);
741 
742 #[cfg(feature = "radix")]
743 const_assert!(F32_POW12[1] / F32_POW12[0] == 12.0);
744 
745 #[cfg(feature = "radix")]
746 const_assert!(F32_POW13[1] / F32_POW13[0] == 13.0);
747 
748 #[cfg(feature = "radix")]
749 const_assert!(F32_POW14[1] / F32_POW14[0] == 14.0);
750 
751 #[cfg(feature = "radix")]
752 const_assert!(F32_POW15[1] / F32_POW15[0] == 15.0);
753 
754 #[cfg(feature = "radix")]
755 const_assert!(F32_POW17[1] / F32_POW17[0] == 17.0);
756 
757 #[cfg(feature = "radix")]
758 const_assert!(F32_POW18[1] / F32_POW18[0] == 18.0);
759 
760 #[cfg(feature = "radix")]
761 const_assert!(F32_POW19[1] / F32_POW19[0] == 19.0);
762 
763 #[cfg(feature = "radix")]
764 const_assert!(F32_POW20[1] / F32_POW20[0] == 20.0);
765 
766 #[cfg(feature = "radix")]
767 const_assert!(F32_POW21[1] / F32_POW21[0] == 21.0);
768 
769 #[cfg(feature = "radix")]
770 const_assert!(F32_POW22[1] / F32_POW22[0] == 22.0);
771 
772 #[cfg(feature = "radix")]
773 const_assert!(F32_POW23[1] / F32_POW23[0] == 23.0);
774 
775 #[cfg(feature = "radix")]
776 const_assert!(F32_POW24[1] / F32_POW24[0] == 24.0);
777 
778 #[cfg(feature = "radix")]
779 const_assert!(F32_POW25[1] / F32_POW25[0] == 25.0);
780 
781 #[cfg(feature = "radix")]
782 const_assert!(F32_POW26[1] / F32_POW26[0] == 26.0);
783 
784 #[cfg(feature = "radix")]
785 const_assert!(F32_POW27[1] / F32_POW27[0] == 27.0);
786 
787 #[cfg(feature = "radix")]
788 const_assert!(F32_POW28[1] / F32_POW28[0] == 28.0);
789 
790 #[cfg(feature = "radix")]
791 const_assert!(F32_POW29[1] / F32_POW29[0] == 29.0);
792 
793 #[cfg(feature = "radix")]
794 const_assert!(F32_POW30[1] / F32_POW30[0] == 30.0);
795 
796 #[cfg(feature = "radix")]
797 const_assert!(F32_POW31[1] / F32_POW31[0] == 31.0);
798 
799 #[cfg(feature = "radix")]
800 const_assert!(F32_POW33[1] / F32_POW33[0] == 33.0);
801 
802 #[cfg(feature = "radix")]
803 const_assert!(F32_POW34[1] / F32_POW34[0] == 34.0);
804 
805 #[cfg(feature = "radix")]
806 const_assert!(F32_POW35[1] / F32_POW35[0] == 35.0);
807 
808 #[cfg(feature = "radix")]
809 const_assert!(F32_POW36[1] / F32_POW36[0] == 36.0);
810 
811 impl TablePower for f32 {
812     const POW2_EXPONENT_BIAS: i32 = 149;
813 
814     #[cfg(feature = "radix")]
815     #[inline]
816     fn table_pow2(exponent: i32) -> f32 {
817         debug_assert!(exponent + Self::POW2_EXPONENT_BIAS >= 0, "table_pow2() have negative exponent.");
818         F32_POW2[(exponent + Self::POW2_EXPONENT_BIAS).as_usize()]
819     }
820 
821     #[inline]
822     fn table_pow<T: Integer>(radix: T, exponent: i32) -> f32 {
823         debug_assert!(exponent >= 0, "table_pow() have negative exponent.");
824         debug_assert_radix!(radix);
825         let exponent = exponent as usize;
826 
827         #[cfg(not(feature = "radix"))] {
828             F32_POW10[exponent]
829         }
830 
831         #[cfg(feature = "radix")] {
832             match radix.as_i32() {
833                 3  => F32_POW3 [exponent],
834                 5  => F32_POW5 [exponent],
835                 6  => F32_POW6 [exponent],
836                 7  => F32_POW7 [exponent],
837                 9  => F32_POW9 [exponent],
838                 10 => F32_POW10[exponent],
839                 11 => F32_POW11[exponent],
840                 12 => F32_POW12[exponent],
841                 13 => F32_POW13[exponent],
842                 14 => F32_POW14[exponent],
843                 15 => F32_POW15[exponent],
844                 17 => F32_POW17[exponent],
845                 18 => F32_POW18[exponent],
846                 19 => F32_POW19[exponent],
847                 20 => F32_POW20[exponent],
848                 21 => F32_POW21[exponent],
849                 22 => F32_POW22[exponent],
850                 23 => F32_POW23[exponent],
851                 24 => F32_POW24[exponent],
852                 25 => F32_POW25[exponent],
853                 26 => F32_POW26[exponent],
854                 27 => F32_POW27[exponent],
855                 28 => F32_POW28[exponent],
856                 29 => F32_POW29[exponent],
857                 30 => F32_POW30[exponent],
858                 31 => F32_POW31[exponent],
859                 33 => F32_POW33[exponent],
860                 34 => F32_POW34[exponent],
861                 35 => F32_POW35[exponent],
862                 36 => F32_POW36[exponent],
863                 // Invalid radix
864                 _  => unreachable!(),
865             }
866         }
867     }
868 }
869 
870 // F64
871 
872 /// Hacky transmute for 64-bit values.
873 #[cfg(feature = "radix")]
874 type F64Transmute = Transmute<u64, f64>;
875 
876 /// Precalculated values of 2**i for i in range [-1074, 1023].
877 #[cfg(feature = "radix")]
878 const F64_POW2: [f64; 2098] = unsafe {[
879     // Denormal floats ([-1074, -1023])
880     F64Transmute { u: 0x0000000000000001 }.f,
881     F64Transmute { u: 0x0000000000000002 }.f,
882     F64Transmute { u: 0x0000000000000004 }.f,
883     F64Transmute { u: 0x0000000000000008 }.f,
884     F64Transmute { u: 0x0000000000000010 }.f,
885     F64Transmute { u: 0x0000000000000020 }.f,
886     F64Transmute { u: 0x0000000000000040 }.f,
887     F64Transmute { u: 0x0000000000000080 }.f,
888     F64Transmute { u: 0x0000000000000100 }.f,
889     F64Transmute { u: 0x0000000000000200 }.f,
890     F64Transmute { u: 0x0000000000000400 }.f,
891     F64Transmute { u: 0x0000000000000800 }.f,
892     F64Transmute { u: 0x0000000000001000 }.f,
893     F64Transmute { u: 0x0000000000002000 }.f,
894     F64Transmute { u: 0x0000000000004000 }.f,
895     F64Transmute { u: 0x0000000000008000 }.f,
896     F64Transmute { u: 0x0000000000010000 }.f,
897     F64Transmute { u: 0x0000000000020000 }.f,
898     F64Transmute { u: 0x0000000000040000 }.f,
899     F64Transmute { u: 0x0000000000080000 }.f,
900     F64Transmute { u: 0x0000000000100000 }.f,
901     F64Transmute { u: 0x0000000000200000 }.f,
902     F64Transmute { u: 0x0000000000400000 }.f,
903     F64Transmute { u: 0x0000000000800000 }.f,
904     F64Transmute { u: 0x0000000001000000 }.f,
905     F64Transmute { u: 0x0000000002000000 }.f,
906     F64Transmute { u: 0x0000000004000000 }.f,
907     F64Transmute { u: 0x0000000008000000 }.f,
908     F64Transmute { u: 0x0000000010000000 }.f,
909     F64Transmute { u: 0x0000000020000000 }.f,
910     F64Transmute { u: 0x0000000040000000 }.f,
911     F64Transmute { u: 0x0000000080000000 }.f,
912     F64Transmute { u: 0x0000000100000000 }.f,
913     F64Transmute { u: 0x0000000200000000 }.f,
914     F64Transmute { u: 0x0000000400000000 }.f,
915     F64Transmute { u: 0x0000000800000000 }.f,
916     F64Transmute { u: 0x0000001000000000 }.f,
917     F64Transmute { u: 0x0000002000000000 }.f,
918     F64Transmute { u: 0x0000004000000000 }.f,
919     F64Transmute { u: 0x0000008000000000 }.f,
920     F64Transmute { u: 0x0000010000000000 }.f,
921     F64Transmute { u: 0x0000020000000000 }.f,
922     F64Transmute { u: 0x0000040000000000 }.f,
923     F64Transmute { u: 0x0000080000000000 }.f,
924     F64Transmute { u: 0x0000100000000000 }.f,
925     F64Transmute { u: 0x0000200000000000 }.f,
926     F64Transmute { u: 0x0000400000000000 }.f,
927     F64Transmute { u: 0x0000800000000000 }.f,
928     F64Transmute { u: 0x0001000000000000 }.f,
929     F64Transmute { u: 0x0002000000000000 }.f,
930     F64Transmute { u: 0x0004000000000000 }.f,
931     F64Transmute { u: 0x0008000000000000 }.f,
932 
933     // Regular floats (exponent only, [-1022, 1023])
934     F64Transmute { u: 0x0010000000000000 }.f,
935     F64Transmute { u: 0x0020000000000000 }.f,
936     F64Transmute { u: 0x0030000000000000 }.f,
937     F64Transmute { u: 0x0040000000000000 }.f,
938     F64Transmute { u: 0x0050000000000000 }.f,
939     F64Transmute { u: 0x0060000000000000 }.f,
940     F64Transmute { u: 0x0070000000000000 }.f,
941     F64Transmute { u: 0x0080000000000000 }.f,
942     F64Transmute { u: 0x0090000000000000 }.f,
943     F64Transmute { u: 0x00A0000000000000 }.f,
944     F64Transmute { u: 0x00B0000000000000 }.f,
945     F64Transmute { u: 0x00C0000000000000 }.f,
946     F64Transmute { u: 0x00D0000000000000 }.f,
947     F64Transmute { u: 0x00E0000000000000 }.f,
948     F64Transmute { u: 0x00F0000000000000 }.f,
949     F64Transmute { u: 0x0100000000000000 }.f,
950     F64Transmute { u: 0x0110000000000000 }.f,
951     F64Transmute { u: 0x0120000000000000 }.f,
952     F64Transmute { u: 0x0130000000000000 }.f,
953     F64Transmute { u: 0x0140000000000000 }.f,
954     F64Transmute { u: 0x0150000000000000 }.f,
955     F64Transmute { u: 0x0160000000000000 }.f,
956     F64Transmute { u: 0x0170000000000000 }.f,
957     F64Transmute { u: 0x0180000000000000 }.f,
958     F64Transmute { u: 0x0190000000000000 }.f,
959     F64Transmute { u: 0x01A0000000000000 }.f,
960     F64Transmute { u: 0x01B0000000000000 }.f,
961     F64Transmute { u: 0x01C0000000000000 }.f,
962     F64Transmute { u: 0x01D0000000000000 }.f,
963     F64Transmute { u: 0x01E0000000000000 }.f,
964     F64Transmute { u: 0x01F0000000000000 }.f,
965     F64Transmute { u: 0x0200000000000000 }.f,
966     F64Transmute { u: 0x0210000000000000 }.f,
967     F64Transmute { u: 0x0220000000000000 }.f,
968     F64Transmute { u: 0x0230000000000000 }.f,
969     F64Transmute { u: 0x0240000000000000 }.f,
970     F64Transmute { u: 0x0250000000000000 }.f,
971     F64Transmute { u: 0x0260000000000000 }.f,
972     F64Transmute { u: 0x0270000000000000 }.f,
973     F64Transmute { u: 0x0280000000000000 }.f,
974     F64Transmute { u: 0x0290000000000000 }.f,
975     F64Transmute { u: 0x02A0000000000000 }.f,
976     F64Transmute { u: 0x02B0000000000000 }.f,
977     F64Transmute { u: 0x02C0000000000000 }.f,
978     F64Transmute { u: 0x02D0000000000000 }.f,
979     F64Transmute { u: 0x02E0000000000000 }.f,
980     F64Transmute { u: 0x02F0000000000000 }.f,
981     F64Transmute { u: 0x0300000000000000 }.f,
982     F64Transmute { u: 0x0310000000000000 }.f,
983     F64Transmute { u: 0x0320000000000000 }.f,
984     F64Transmute { u: 0x0330000000000000 }.f,
985     F64Transmute { u: 0x0340000000000000 }.f,
986     F64Transmute { u: 0x0350000000000000 }.f,
987     F64Transmute { u: 0x0360000000000000 }.f,
988     F64Transmute { u: 0x0370000000000000 }.f,
989     F64Transmute { u: 0x0380000000000000 }.f,
990     F64Transmute { u: 0x0390000000000000 }.f,
991     F64Transmute { u: 0x03A0000000000000 }.f,
992     F64Transmute { u: 0x03B0000000000000 }.f,
993     F64Transmute { u: 0x03C0000000000000 }.f,
994     F64Transmute { u: 0x03D0000000000000 }.f,
995     F64Transmute { u: 0x03E0000000000000 }.f,
996     F64Transmute { u: 0x03F0000000000000 }.f,
997     F64Transmute { u: 0x0400000000000000 }.f,
998     F64Transmute { u: 0x0410000000000000 }.f,
999     F64Transmute { u: 0x0420000000000000 }.f,
1000     F64Transmute { u: 0x0430000000000000 }.f,
1001     F64Transmute { u: 0x0440000000000000 }.f,
1002     F64Transmute { u: 0x0450000000000000 }.f,
1003     F64Transmute { u: 0x0460000000000000 }.f,
1004     F64Transmute { u: 0x0470000000000000 }.f,
1005     F64Transmute { u: 0x0480000000000000 }.f,
1006     F64Transmute { u: 0x0490000000000000 }.f,
1007     F64Transmute { u: 0x04A0000000000000 }.f,
1008     F64Transmute { u: 0x04B0000000000000 }.f,
1009     F64Transmute { u: 0x04C0000000000000 }.f,
1010     F64Transmute { u: 0x04D0000000000000 }.f,
1011     F64Transmute { u: 0x04E0000000000000 }.f,
1012     F64Transmute { u: 0x04F0000000000000 }.f,
1013     F64Transmute { u: 0x0500000000000000 }.f,
1014     F64Transmute { u: 0x0510000000000000 }.f,
1015     F64Transmute { u: 0x0520000000000000 }.f,
1016     F64Transmute { u: 0x0530000000000000 }.f,
1017     F64Transmute { u: 0x0540000000000000 }.f,
1018     F64Transmute { u: 0x0550000000000000 }.f,
1019     F64Transmute { u: 0x0560000000000000 }.f,
1020     F64Transmute { u: 0x0570000000000000 }.f,
1021     F64Transmute { u: 0x0580000000000000 }.f,
1022     F64Transmute { u: 0x0590000000000000 }.f,
1023     F64Transmute { u: 0x05A0000000000000 }.f,
1024     F64Transmute { u: 0x05B0000000000000 }.f,
1025     F64Transmute { u: 0x05C0000000000000 }.f,
1026     F64Transmute { u: 0x05D0000000000000 }.f,
1027     F64Transmute { u: 0x05E0000000000000 }.f,
1028     F64Transmute { u: 0x05F0000000000000 }.f,
1029     F64Transmute { u: 0x0600000000000000 }.f,
1030     F64Transmute { u: 0x0610000000000000 }.f,
1031     F64Transmute { u: 0x0620000000000000 }.f,
1032     F64Transmute { u: 0x0630000000000000 }.f,
1033     F64Transmute { u: 0x0640000000000000 }.f,
1034     F64Transmute { u: 0x0650000000000000 }.f,
1035     F64Transmute { u: 0x0660000000000000 }.f,
1036     F64Transmute { u: 0x0670000000000000 }.f,
1037     F64Transmute { u: 0x0680000000000000 }.f,
1038     F64Transmute { u: 0x0690000000000000 }.f,
1039     F64Transmute { u: 0x06A0000000000000 }.f,
1040     F64Transmute { u: 0x06B0000000000000 }.f,
1041     F64Transmute { u: 0x06C0000000000000 }.f,
1042     F64Transmute { u: 0x06D0000000000000 }.f,
1043     F64Transmute { u: 0x06E0000000000000 }.f,
1044     F64Transmute { u: 0x06F0000000000000 }.f,
1045     F64Transmute { u: 0x0700000000000000 }.f,
1046     F64Transmute { u: 0x0710000000000000 }.f,
1047     F64Transmute { u: 0x0720000000000000 }.f,
1048     F64Transmute { u: 0x0730000000000000 }.f,
1049     F64Transmute { u: 0x0740000000000000 }.f,
1050     F64Transmute { u: 0x0750000000000000 }.f,
1051     F64Transmute { u: 0x0760000000000000 }.f,
1052     F64Transmute { u: 0x0770000000000000 }.f,
1053     F64Transmute { u: 0x0780000000000000 }.f,
1054     F64Transmute { u: 0x0790000000000000 }.f,
1055     F64Transmute { u: 0x07A0000000000000 }.f,
1056     F64Transmute { u: 0x07B0000000000000 }.f,
1057     F64Transmute { u: 0x07C0000000000000 }.f,
1058     F64Transmute { u: 0x07D0000000000000 }.f,
1059     F64Transmute { u: 0x07E0000000000000 }.f,
1060     F64Transmute { u: 0x07F0000000000000 }.f,
1061     F64Transmute { u: 0x0800000000000000 }.f,
1062     F64Transmute { u: 0x0810000000000000 }.f,
1063     F64Transmute { u: 0x0820000000000000 }.f,
1064     F64Transmute { u: 0x0830000000000000 }.f,
1065     F64Transmute { u: 0x0840000000000000 }.f,
1066     F64Transmute { u: 0x0850000000000000 }.f,
1067     F64Transmute { u: 0x0860000000000000 }.f,
1068     F64Transmute { u: 0x0870000000000000 }.f,
1069     F64Transmute { u: 0x0880000000000000 }.f,
1070     F64Transmute { u: 0x0890000000000000 }.f,
1071     F64Transmute { u: 0x08A0000000000000 }.f,
1072     F64Transmute { u: 0x08B0000000000000 }.f,
1073     F64Transmute { u: 0x08C0000000000000 }.f,
1074     F64Transmute { u: 0x08D0000000000000 }.f,
1075     F64Transmute { u: 0x08E0000000000000 }.f,
1076     F64Transmute { u: 0x08F0000000000000 }.f,
1077     F64Transmute { u: 0x0900000000000000 }.f,
1078     F64Transmute { u: 0x0910000000000000 }.f,
1079     F64Transmute { u: 0x0920000000000000 }.f,
1080     F64Transmute { u: 0x0930000000000000 }.f,
1081     F64Transmute { u: 0x0940000000000000 }.f,
1082     F64Transmute { u: 0x0950000000000000 }.f,
1083     F64Transmute { u: 0x0960000000000000 }.f,
1084     F64Transmute { u: 0x0970000000000000 }.f,
1085     F64Transmute { u: 0x0980000000000000 }.f,
1086     F64Transmute { u: 0x0990000000000000 }.f,
1087     F64Transmute { u: 0x09A0000000000000 }.f,
1088     F64Transmute { u: 0x09B0000000000000 }.f,
1089     F64Transmute { u: 0x09C0000000000000 }.f,
1090     F64Transmute { u: 0x09D0000000000000 }.f,
1091     F64Transmute { u: 0x09E0000000000000 }.f,
1092     F64Transmute { u: 0x09F0000000000000 }.f,
1093     F64Transmute { u: 0x0A00000000000000 }.f,
1094     F64Transmute { u: 0x0A10000000000000 }.f,
1095     F64Transmute { u: 0x0A20000000000000 }.f,
1096     F64Transmute { u: 0x0A30000000000000 }.f,
1097     F64Transmute { u: 0x0A40000000000000 }.f,
1098     F64Transmute { u: 0x0A50000000000000 }.f,
1099     F64Transmute { u: 0x0A60000000000000 }.f,
1100     F64Transmute { u: 0x0A70000000000000 }.f,
1101     F64Transmute { u: 0x0A80000000000000 }.f,
1102     F64Transmute { u: 0x0A90000000000000 }.f,
1103     F64Transmute { u: 0x0AA0000000000000 }.f,
1104     F64Transmute { u: 0x0AB0000000000000 }.f,
1105     F64Transmute { u: 0x0AC0000000000000 }.f,
1106     F64Transmute { u: 0x0AD0000000000000 }.f,
1107     F64Transmute { u: 0x0AE0000000000000 }.f,
1108     F64Transmute { u: 0x0AF0000000000000 }.f,
1109     F64Transmute { u: 0x0B00000000000000 }.f,
1110     F64Transmute { u: 0x0B10000000000000 }.f,
1111     F64Transmute { u: 0x0B20000000000000 }.f,
1112     F64Transmute { u: 0x0B30000000000000 }.f,
1113     F64Transmute { u: 0x0B40000000000000 }.f,
1114     F64Transmute { u: 0x0B50000000000000 }.f,
1115     F64Transmute { u: 0x0B60000000000000 }.f,
1116     F64Transmute { u: 0x0B70000000000000 }.f,
1117     F64Transmute { u: 0x0B80000000000000 }.f,
1118     F64Transmute { u: 0x0B90000000000000 }.f,
1119     F64Transmute { u: 0x0BA0000000000000 }.f,
1120     F64Transmute { u: 0x0BB0000000000000 }.f,
1121     F64Transmute { u: 0x0BC0000000000000 }.f,
1122     F64Transmute { u: 0x0BD0000000000000 }.f,
1123     F64Transmute { u: 0x0BE0000000000000 }.f,
1124     F64Transmute { u: 0x0BF0000000000000 }.f,
1125     F64Transmute { u: 0x0C00000000000000 }.f,
1126     F64Transmute { u: 0x0C10000000000000 }.f,
1127     F64Transmute { u: 0x0C20000000000000 }.f,
1128     F64Transmute { u: 0x0C30000000000000 }.f,
1129     F64Transmute { u: 0x0C40000000000000 }.f,
1130     F64Transmute { u: 0x0C50000000000000 }.f,
1131     F64Transmute { u: 0x0C60000000000000 }.f,
1132     F64Transmute { u: 0x0C70000000000000 }.f,
1133     F64Transmute { u: 0x0C80000000000000 }.f,
1134     F64Transmute { u: 0x0C90000000000000 }.f,
1135     F64Transmute { u: 0x0CA0000000000000 }.f,
1136     F64Transmute { u: 0x0CB0000000000000 }.f,
1137     F64Transmute { u: 0x0CC0000000000000 }.f,
1138     F64Transmute { u: 0x0CD0000000000000 }.f,
1139     F64Transmute { u: 0x0CE0000000000000 }.f,
1140     F64Transmute { u: 0x0CF0000000000000 }.f,
1141     F64Transmute { u: 0x0D00000000000000 }.f,
1142     F64Transmute { u: 0x0D10000000000000 }.f,
1143     F64Transmute { u: 0x0D20000000000000 }.f,
1144     F64Transmute { u: 0x0D30000000000000 }.f,
1145     F64Transmute { u: 0x0D40000000000000 }.f,
1146     F64Transmute { u: 0x0D50000000000000 }.f,
1147     F64Transmute { u: 0x0D60000000000000 }.f,
1148     F64Transmute { u: 0x0D70000000000000 }.f,
1149     F64Transmute { u: 0x0D80000000000000 }.f,
1150     F64Transmute { u: 0x0D90000000000000 }.f,
1151     F64Transmute { u: 0x0DA0000000000000 }.f,
1152     F64Transmute { u: 0x0DB0000000000000 }.f,
1153     F64Transmute { u: 0x0DC0000000000000 }.f,
1154     F64Transmute { u: 0x0DD0000000000000 }.f,
1155     F64Transmute { u: 0x0DE0000000000000 }.f,
1156     F64Transmute { u: 0x0DF0000000000000 }.f,
1157     F64Transmute { u: 0x0E00000000000000 }.f,
1158     F64Transmute { u: 0x0E10000000000000 }.f,
1159     F64Transmute { u: 0x0E20000000000000 }.f,
1160     F64Transmute { u: 0x0E30000000000000 }.f,
1161     F64Transmute { u: 0x0E40000000000000 }.f,
1162     F64Transmute { u: 0x0E50000000000000 }.f,
1163     F64Transmute { u: 0x0E60000000000000 }.f,
1164     F64Transmute { u: 0x0E70000000000000 }.f,
1165     F64Transmute { u: 0x0E80000000000000 }.f,
1166     F64Transmute { u: 0x0E90000000000000 }.f,
1167     F64Transmute { u: 0x0EA0000000000000 }.f,
1168     F64Transmute { u: 0x0EB0000000000000 }.f,
1169     F64Transmute { u: 0x0EC0000000000000 }.f,
1170     F64Transmute { u: 0x0ED0000000000000 }.f,
1171     F64Transmute { u: 0x0EE0000000000000 }.f,
1172     F64Transmute { u: 0x0EF0000000000000 }.f,
1173     F64Transmute { u: 0x0F00000000000000 }.f,
1174     F64Transmute { u: 0x0F10000000000000 }.f,
1175     F64Transmute { u: 0x0F20000000000000 }.f,
1176     F64Transmute { u: 0x0F30000000000000 }.f,
1177     F64Transmute { u: 0x0F40000000000000 }.f,
1178     F64Transmute { u: 0x0F50000000000000 }.f,
1179     F64Transmute { u: 0x0F60000000000000 }.f,
1180     F64Transmute { u: 0x0F70000000000000 }.f,
1181     F64Transmute { u: 0x0F80000000000000 }.f,
1182     F64Transmute { u: 0x0F90000000000000 }.f,
1183     F64Transmute { u: 0x0FA0000000000000 }.f,
1184     F64Transmute { u: 0x0FB0000000000000 }.f,
1185     F64Transmute { u: 0x0FC0000000000000 }.f,
1186     F64Transmute { u: 0x0FD0000000000000 }.f,
1187     F64Transmute { u: 0x0FE0000000000000 }.f,
1188     F64Transmute { u: 0x0FF0000000000000 }.f,
1189     F64Transmute { u: 0x1000000000000000 }.f,
1190     F64Transmute { u: 0x1010000000000000 }.f,
1191     F64Transmute { u: 0x1020000000000000 }.f,
1192     F64Transmute { u: 0x1030000000000000 }.f,
1193     F64Transmute { u: 0x1040000000000000 }.f,
1194     F64Transmute { u: 0x1050000000000000 }.f,
1195     F64Transmute { u: 0x1060000000000000 }.f,
1196     F64Transmute { u: 0x1070000000000000 }.f,
1197     F64Transmute { u: 0x1080000000000000 }.f,
1198     F64Transmute { u: 0x1090000000000000 }.f,
1199     F64Transmute { u: 0x10A0000000000000 }.f,
1200     F64Transmute { u: 0x10B0000000000000 }.f,
1201     F64Transmute { u: 0x10C0000000000000 }.f,
1202     F64Transmute { u: 0x10D0000000000000 }.f,
1203     F64Transmute { u: 0x10E0000000000000 }.f,
1204     F64Transmute { u: 0x10F0000000000000 }.f,
1205     F64Transmute { u: 0x1100000000000000 }.f,
1206     F64Transmute { u: 0x1110000000000000 }.f,
1207     F64Transmute { u: 0x1120000000000000 }.f,
1208     F64Transmute { u: 0x1130000000000000 }.f,
1209     F64Transmute { u: 0x1140000000000000 }.f,
1210     F64Transmute { u: 0x1150000000000000 }.f,
1211     F64Transmute { u: 0x1160000000000000 }.f,
1212     F64Transmute { u: 0x1170000000000000 }.f,
1213     F64Transmute { u: 0x1180000000000000 }.f,
1214     F64Transmute { u: 0x1190000000000000 }.f,
1215     F64Transmute { u: 0x11A0000000000000 }.f,
1216     F64Transmute { u: 0x11B0000000000000 }.f,
1217     F64Transmute { u: 0x11C0000000000000 }.f,
1218     F64Transmute { u: 0x11D0000000000000 }.f,
1219     F64Transmute { u: 0x11E0000000000000 }.f,
1220     F64Transmute { u: 0x11F0000000000000 }.f,
1221     F64Transmute { u: 0x1200000000000000 }.f,
1222     F64Transmute { u: 0x1210000000000000 }.f,
1223     F64Transmute { u: 0x1220000000000000 }.f,
1224     F64Transmute { u: 0x1230000000000000 }.f,
1225     F64Transmute { u: 0x1240000000000000 }.f,
1226     F64Transmute { u: 0x1250000000000000 }.f,
1227     F64Transmute { u: 0x1260000000000000 }.f,
1228     F64Transmute { u: 0x1270000000000000 }.f,
1229     F64Transmute { u: 0x1280000000000000 }.f,
1230     F64Transmute { u: 0x1290000000000000 }.f,
1231     F64Transmute { u: 0x12A0000000000000 }.f,
1232     F64Transmute { u: 0x12B0000000000000 }.f,
1233     F64Transmute { u: 0x12C0000000000000 }.f,
1234     F64Transmute { u: 0x12D0000000000000 }.f,
1235     F64Transmute { u: 0x12E0000000000000 }.f,
1236     F64Transmute { u: 0x12F0000000000000 }.f,
1237     F64Transmute { u: 0x1300000000000000 }.f,
1238     F64Transmute { u: 0x1310000000000000 }.f,
1239     F64Transmute { u: 0x1320000000000000 }.f,
1240     F64Transmute { u: 0x1330000000000000 }.f,
1241     F64Transmute { u: 0x1340000000000000 }.f,
1242     F64Transmute { u: 0x1350000000000000 }.f,
1243     F64Transmute { u: 0x1360000000000000 }.f,
1244     F64Transmute { u: 0x1370000000000000 }.f,
1245     F64Transmute { u: 0x1380000000000000 }.f,
1246     F64Transmute { u: 0x1390000000000000 }.f,
1247     F64Transmute { u: 0x13A0000000000000 }.f,
1248     F64Transmute { u: 0x13B0000000000000 }.f,
1249     F64Transmute { u: 0x13C0000000000000 }.f,
1250     F64Transmute { u: 0x13D0000000000000 }.f,
1251     F64Transmute { u: 0x13E0000000000000 }.f,
1252     F64Transmute { u: 0x13F0000000000000 }.f,
1253     F64Transmute { u: 0x1400000000000000 }.f,
1254     F64Transmute { u: 0x1410000000000000 }.f,
1255     F64Transmute { u: 0x1420000000000000 }.f,
1256     F64Transmute { u: 0x1430000000000000 }.f,
1257     F64Transmute { u: 0x1440000000000000 }.f,
1258     F64Transmute { u: 0x1450000000000000 }.f,
1259     F64Transmute { u: 0x1460000000000000 }.f,
1260     F64Transmute { u: 0x1470000000000000 }.f,
1261     F64Transmute { u: 0x1480000000000000 }.f,
1262     F64Transmute { u: 0x1490000000000000 }.f,
1263     F64Transmute { u: 0x14A0000000000000 }.f,
1264     F64Transmute { u: 0x14B0000000000000 }.f,
1265     F64Transmute { u: 0x14C0000000000000 }.f,
1266     F64Transmute { u: 0x14D0000000000000 }.f,
1267     F64Transmute { u: 0x14E0000000000000 }.f,
1268     F64Transmute { u: 0x14F0000000000000 }.f,
1269     F64Transmute { u: 0x1500000000000000 }.f,
1270     F64Transmute { u: 0x1510000000000000 }.f,
1271     F64Transmute { u: 0x1520000000000000 }.f,
1272     F64Transmute { u: 0x1530000000000000 }.f,
1273     F64Transmute { u: 0x1540000000000000 }.f,
1274     F64Transmute { u: 0x1550000000000000 }.f,
1275     F64Transmute { u: 0x1560000000000000 }.f,
1276     F64Transmute { u: 0x1570000000000000 }.f,
1277     F64Transmute { u: 0x1580000000000000 }.f,
1278     F64Transmute { u: 0x1590000000000000 }.f,
1279     F64Transmute { u: 0x15A0000000000000 }.f,
1280     F64Transmute { u: 0x15B0000000000000 }.f,
1281     F64Transmute { u: 0x15C0000000000000 }.f,
1282     F64Transmute { u: 0x15D0000000000000 }.f,
1283     F64Transmute { u: 0x15E0000000000000 }.f,
1284     F64Transmute { u: 0x15F0000000000000 }.f,
1285     F64Transmute { u: 0x1600000000000000 }.f,
1286     F64Transmute { u: 0x1610000000000000 }.f,
1287     F64Transmute { u: 0x1620000000000000 }.f,
1288     F64Transmute { u: 0x1630000000000000 }.f,
1289     F64Transmute { u: 0x1640000000000000 }.f,
1290     F64Transmute { u: 0x1650000000000000 }.f,
1291     F64Transmute { u: 0x1660000000000000 }.f,
1292     F64Transmute { u: 0x1670000000000000 }.f,
1293     F64Transmute { u: 0x1680000000000000 }.f,
1294     F64Transmute { u: 0x1690000000000000 }.f,
1295     F64Transmute { u: 0x16A0000000000000 }.f,
1296     F64Transmute { u: 0x16B0000000000000 }.f,
1297     F64Transmute { u: 0x16C0000000000000 }.f,
1298     F64Transmute { u: 0x16D0000000000000 }.f,
1299     F64Transmute { u: 0x16E0000000000000 }.f,
1300     F64Transmute { u: 0x16F0000000000000 }.f,
1301     F64Transmute { u: 0x1700000000000000 }.f,
1302     F64Transmute { u: 0x1710000000000000 }.f,
1303     F64Transmute { u: 0x1720000000000000 }.f,
1304     F64Transmute { u: 0x1730000000000000 }.f,
1305     F64Transmute { u: 0x1740000000000000 }.f,
1306     F64Transmute { u: 0x1750000000000000 }.f,
1307     F64Transmute { u: 0x1760000000000000 }.f,
1308     F64Transmute { u: 0x1770000000000000 }.f,
1309     F64Transmute { u: 0x1780000000000000 }.f,
1310     F64Transmute { u: 0x1790000000000000 }.f,
1311     F64Transmute { u: 0x17A0000000000000 }.f,
1312     F64Transmute { u: 0x17B0000000000000 }.f,
1313     F64Transmute { u: 0x17C0000000000000 }.f,
1314     F64Transmute { u: 0x17D0000000000000 }.f,
1315     F64Transmute { u: 0x17E0000000000000 }.f,
1316     F64Transmute { u: 0x17F0000000000000 }.f,
1317     F64Transmute { u: 0x1800000000000000 }.f,
1318     F64Transmute { u: 0x1810000000000000 }.f,
1319     F64Transmute { u: 0x1820000000000000 }.f,
1320     F64Transmute { u: 0x1830000000000000 }.f,
1321     F64Transmute { u: 0x1840000000000000 }.f,
1322     F64Transmute { u: 0x1850000000000000 }.f,
1323     F64Transmute { u: 0x1860000000000000 }.f,
1324     F64Transmute { u: 0x1870000000000000 }.f,
1325     F64Transmute { u: 0x1880000000000000 }.f,
1326     F64Transmute { u: 0x1890000000000000 }.f,
1327     F64Transmute { u: 0x18A0000000000000 }.f,
1328     F64Transmute { u: 0x18B0000000000000 }.f,
1329     F64Transmute { u: 0x18C0000000000000 }.f,
1330     F64Transmute { u: 0x18D0000000000000 }.f,
1331     F64Transmute { u: 0x18E0000000000000 }.f,
1332     F64Transmute { u: 0x18F0000000000000 }.f,
1333     F64Transmute { u: 0x1900000000000000 }.f,
1334     F64Transmute { u: 0x1910000000000000 }.f,
1335     F64Transmute { u: 0x1920000000000000 }.f,
1336     F64Transmute { u: 0x1930000000000000 }.f,
1337     F64Transmute { u: 0x1940000000000000 }.f,
1338     F64Transmute { u: 0x1950000000000000 }.f,
1339     F64Transmute { u: 0x1960000000000000 }.f,
1340     F64Transmute { u: 0x1970000000000000 }.f,
1341     F64Transmute { u: 0x1980000000000000 }.f,
1342     F64Transmute { u: 0x1990000000000000 }.f,
1343     F64Transmute { u: 0x19A0000000000000 }.f,
1344     F64Transmute { u: 0x19B0000000000000 }.f,
1345     F64Transmute { u: 0x19C0000000000000 }.f,
1346     F64Transmute { u: 0x19D0000000000000 }.f,
1347     F64Transmute { u: 0x19E0000000000000 }.f,
1348     F64Transmute { u: 0x19F0000000000000 }.f,
1349     F64Transmute { u: 0x1A00000000000000 }.f,
1350     F64Transmute { u: 0x1A10000000000000 }.f,
1351     F64Transmute { u: 0x1A20000000000000 }.f,
1352     F64Transmute { u: 0x1A30000000000000 }.f,
1353     F64Transmute { u: 0x1A40000000000000 }.f,
1354     F64Transmute { u: 0x1A50000000000000 }.f,
1355     F64Transmute { u: 0x1A60000000000000 }.f,
1356     F64Transmute { u: 0x1A70000000000000 }.f,
1357     F64Transmute { u: 0x1A80000000000000 }.f,
1358     F64Transmute { u: 0x1A90000000000000 }.f,
1359     F64Transmute { u: 0x1AA0000000000000 }.f,
1360     F64Transmute { u: 0x1AB0000000000000 }.f,
1361     F64Transmute { u: 0x1AC0000000000000 }.f,
1362     F64Transmute { u: 0x1AD0000000000000 }.f,
1363     F64Transmute { u: 0x1AE0000000000000 }.f,
1364     F64Transmute { u: 0x1AF0000000000000 }.f,
1365     F64Transmute { u: 0x1B00000000000000 }.f,
1366     F64Transmute { u: 0x1B10000000000000 }.f,
1367     F64Transmute { u: 0x1B20000000000000 }.f,
1368     F64Transmute { u: 0x1B30000000000000 }.f,
1369     F64Transmute { u: 0x1B40000000000000 }.f,
1370     F64Transmute { u: 0x1B50000000000000 }.f,
1371     F64Transmute { u: 0x1B60000000000000 }.f,
1372     F64Transmute { u: 0x1B70000000000000 }.f,
1373     F64Transmute { u: 0x1B80000000000000 }.f,
1374     F64Transmute { u: 0x1B90000000000000 }.f,
1375     F64Transmute { u: 0x1BA0000000000000 }.f,
1376     F64Transmute { u: 0x1BB0000000000000 }.f,
1377     F64Transmute { u: 0x1BC0000000000000 }.f,
1378     F64Transmute { u: 0x1BD0000000000000 }.f,
1379     F64Transmute { u: 0x1BE0000000000000 }.f,
1380     F64Transmute { u: 0x1BF0000000000000 }.f,
1381     F64Transmute { u: 0x1C00000000000000 }.f,
1382     F64Transmute { u: 0x1C10000000000000 }.f,
1383     F64Transmute { u: 0x1C20000000000000 }.f,
1384     F64Transmute { u: 0x1C30000000000000 }.f,
1385     F64Transmute { u: 0x1C40000000000000 }.f,
1386     F64Transmute { u: 0x1C50000000000000 }.f,
1387     F64Transmute { u: 0x1C60000000000000 }.f,
1388     F64Transmute { u: 0x1C70000000000000 }.f,
1389     F64Transmute { u: 0x1C80000000000000 }.f,
1390     F64Transmute { u: 0x1C90000000000000 }.f,
1391     F64Transmute { u: 0x1CA0000000000000 }.f,
1392     F64Transmute { u: 0x1CB0000000000000 }.f,
1393     F64Transmute { u: 0x1CC0000000000000 }.f,
1394     F64Transmute { u: 0x1CD0000000000000 }.f,
1395     F64Transmute { u: 0x1CE0000000000000 }.f,
1396     F64Transmute { u: 0x1CF0000000000000 }.f,
1397     F64Transmute { u: 0x1D00000000000000 }.f,
1398     F64Transmute { u: 0x1D10000000000000 }.f,
1399     F64Transmute { u: 0x1D20000000000000 }.f,
1400     F64Transmute { u: 0x1D30000000000000 }.f,
1401     F64Transmute { u: 0x1D40000000000000 }.f,
1402     F64Transmute { u: 0x1D50000000000000 }.f,
1403     F64Transmute { u: 0x1D60000000000000 }.f,
1404     F64Transmute { u: 0x1D70000000000000 }.f,
1405     F64Transmute { u: 0x1D80000000000000 }.f,
1406     F64Transmute { u: 0x1D90000000000000 }.f,
1407     F64Transmute { u: 0x1DA0000000000000 }.f,
1408     F64Transmute { u: 0x1DB0000000000000 }.f,
1409     F64Transmute { u: 0x1DC0000000000000 }.f,
1410     F64Transmute { u: 0x1DD0000000000000 }.f,
1411     F64Transmute { u: 0x1DE0000000000000 }.f,
1412     F64Transmute { u: 0x1DF0000000000000 }.f,
1413     F64Transmute { u: 0x1E00000000000000 }.f,
1414     F64Transmute { u: 0x1E10000000000000 }.f,
1415     F64Transmute { u: 0x1E20000000000000 }.f,
1416     F64Transmute { u: 0x1E30000000000000 }.f,
1417     F64Transmute { u: 0x1E40000000000000 }.f,
1418     F64Transmute { u: 0x1E50000000000000 }.f,
1419     F64Transmute { u: 0x1E60000000000000 }.f,
1420     F64Transmute { u: 0x1E70000000000000 }.f,
1421     F64Transmute { u: 0x1E80000000000000 }.f,
1422     F64Transmute { u: 0x1E90000000000000 }.f,
1423     F64Transmute { u: 0x1EA0000000000000 }.f,
1424     F64Transmute { u: 0x1EB0000000000000 }.f,
1425     F64Transmute { u: 0x1EC0000000000000 }.f,
1426     F64Transmute { u: 0x1ED0000000000000 }.f,
1427     F64Transmute { u: 0x1EE0000000000000 }.f,
1428     F64Transmute { u: 0x1EF0000000000000 }.f,
1429     F64Transmute { u: 0x1F00000000000000 }.f,
1430     F64Transmute { u: 0x1F10000000000000 }.f,
1431     F64Transmute { u: 0x1F20000000000000 }.f,
1432     F64Transmute { u: 0x1F30000000000000 }.f,
1433     F64Transmute { u: 0x1F40000000000000 }.f,
1434     F64Transmute { u: 0x1F50000000000000 }.f,
1435     F64Transmute { u: 0x1F60000000000000 }.f,
1436     F64Transmute { u: 0x1F70000000000000 }.f,
1437     F64Transmute { u: 0x1F80000000000000 }.f,
1438     F64Transmute { u: 0x1F90000000000000 }.f,
1439     F64Transmute { u: 0x1FA0000000000000 }.f,
1440     F64Transmute { u: 0x1FB0000000000000 }.f,
1441     F64Transmute { u: 0x1FC0000000000000 }.f,
1442     F64Transmute { u: 0x1FD0000000000000 }.f,
1443     F64Transmute { u: 0x1FE0000000000000 }.f,
1444     F64Transmute { u: 0x1FF0000000000000 }.f,
1445     F64Transmute { u: 0x2000000000000000 }.f,
1446     F64Transmute { u: 0x2010000000000000 }.f,
1447     F64Transmute { u: 0x2020000000000000 }.f,
1448     F64Transmute { u: 0x2030000000000000 }.f,
1449     F64Transmute { u: 0x2040000000000000 }.f,
1450     F64Transmute { u: 0x2050000000000000 }.f,
1451     F64Transmute { u: 0x2060000000000000 }.f,
1452     F64Transmute { u: 0x2070000000000000 }.f,
1453     F64Transmute { u: 0x2080000000000000 }.f,
1454     F64Transmute { u: 0x2090000000000000 }.f,
1455     F64Transmute { u: 0x20A0000000000000 }.f,
1456     F64Transmute { u: 0x20B0000000000000 }.f,
1457     F64Transmute { u: 0x20C0000000000000 }.f,
1458     F64Transmute { u: 0x20D0000000000000 }.f,
1459     F64Transmute { u: 0x20E0000000000000 }.f,
1460     F64Transmute { u: 0x20F0000000000000 }.f,
1461     F64Transmute { u: 0x2100000000000000 }.f,
1462     F64Transmute { u: 0x2110000000000000 }.f,
1463     F64Transmute { u: 0x2120000000000000 }.f,
1464     F64Transmute { u: 0x2130000000000000 }.f,
1465     F64Transmute { u: 0x2140000000000000 }.f,
1466     F64Transmute { u: 0x2150000000000000 }.f,
1467     F64Transmute { u: 0x2160000000000000 }.f,
1468     F64Transmute { u: 0x2170000000000000 }.f,
1469     F64Transmute { u: 0x2180000000000000 }.f,
1470     F64Transmute { u: 0x2190000000000000 }.f,
1471     F64Transmute { u: 0x21A0000000000000 }.f,
1472     F64Transmute { u: 0x21B0000000000000 }.f,
1473     F64Transmute { u: 0x21C0000000000000 }.f,
1474     F64Transmute { u: 0x21D0000000000000 }.f,
1475     F64Transmute { u: 0x21E0000000000000 }.f,
1476     F64Transmute { u: 0x21F0000000000000 }.f,
1477     F64Transmute { u: 0x2200000000000000 }.f,
1478     F64Transmute { u: 0x2210000000000000 }.f,
1479     F64Transmute { u: 0x2220000000000000 }.f,
1480     F64Transmute { u: 0x2230000000000000 }.f,
1481     F64Transmute { u: 0x2240000000000000 }.f,
1482     F64Transmute { u: 0x2250000000000000 }.f,
1483     F64Transmute { u: 0x2260000000000000 }.f,
1484     F64Transmute { u: 0x2270000000000000 }.f,
1485     F64Transmute { u: 0x2280000000000000 }.f,
1486     F64Transmute { u: 0x2290000000000000 }.f,
1487     F64Transmute { u: 0x22A0000000000000 }.f,
1488     F64Transmute { u: 0x22B0000000000000 }.f,
1489     F64Transmute { u: 0x22C0000000000000 }.f,
1490     F64Transmute { u: 0x22D0000000000000 }.f,
1491     F64Transmute { u: 0x22E0000000000000 }.f,
1492     F64Transmute { u: 0x22F0000000000000 }.f,
1493     F64Transmute { u: 0x2300000000000000 }.f,
1494     F64Transmute { u: 0x2310000000000000 }.f,
1495     F64Transmute { u: 0x2320000000000000 }.f,
1496     F64Transmute { u: 0x2330000000000000 }.f,
1497     F64Transmute { u: 0x2340000000000000 }.f,
1498     F64Transmute { u: 0x2350000000000000 }.f,
1499     F64Transmute { u: 0x2360000000000000 }.f,
1500     F64Transmute { u: 0x2370000000000000 }.f,
1501     F64Transmute { u: 0x2380000000000000 }.f,
1502     F64Transmute { u: 0x2390000000000000 }.f,
1503     F64Transmute { u: 0x23A0000000000000 }.f,
1504     F64Transmute { u: 0x23B0000000000000 }.f,
1505     F64Transmute { u: 0x23C0000000000000 }.f,
1506     F64Transmute { u: 0x23D0000000000000 }.f,
1507     F64Transmute { u: 0x23E0000000000000 }.f,
1508     F64Transmute { u: 0x23F0000000000000 }.f,
1509     F64Transmute { u: 0x2400000000000000 }.f,
1510     F64Transmute { u: 0x2410000000000000 }.f,
1511     F64Transmute { u: 0x2420000000000000 }.f,
1512     F64Transmute { u: 0x2430000000000000 }.f,
1513     F64Transmute { u: 0x2440000000000000 }.f,
1514     F64Transmute { u: 0x2450000000000000 }.f,
1515     F64Transmute { u: 0x2460000000000000 }.f,
1516     F64Transmute { u: 0x2470000000000000 }.f,
1517     F64Transmute { u: 0x2480000000000000 }.f,
1518     F64Transmute { u: 0x2490000000000000 }.f,
1519     F64Transmute { u: 0x24A0000000000000 }.f,
1520     F64Transmute { u: 0x24B0000000000000 }.f,
1521     F64Transmute { u: 0x24C0000000000000 }.f,
1522     F64Transmute { u: 0x24D0000000000000 }.f,
1523     F64Transmute { u: 0x24E0000000000000 }.f,
1524     F64Transmute { u: 0x24F0000000000000 }.f,
1525     F64Transmute { u: 0x2500000000000000 }.f,
1526     F64Transmute { u: 0x2510000000000000 }.f,
1527     F64Transmute { u: 0x2520000000000000 }.f,
1528     F64Transmute { u: 0x2530000000000000 }.f,
1529     F64Transmute { u: 0x2540000000000000 }.f,
1530     F64Transmute { u: 0x2550000000000000 }.f,
1531     F64Transmute { u: 0x2560000000000000 }.f,
1532     F64Transmute { u: 0x2570000000000000 }.f,
1533     F64Transmute { u: 0x2580000000000000 }.f,
1534     F64Transmute { u: 0x2590000000000000 }.f,
1535     F64Transmute { u: 0x25A0000000000000 }.f,
1536     F64Transmute { u: 0x25B0000000000000 }.f,
1537     F64Transmute { u: 0x25C0000000000000 }.f,
1538     F64Transmute { u: 0x25D0000000000000 }.f,
1539     F64Transmute { u: 0x25E0000000000000 }.f,
1540     F64Transmute { u: 0x25F0000000000000 }.f,
1541     F64Transmute { u: 0x2600000000000000 }.f,
1542     F64Transmute { u: 0x2610000000000000 }.f,
1543     F64Transmute { u: 0x2620000000000000 }.f,
1544     F64Transmute { u: 0x2630000000000000 }.f,
1545     F64Transmute { u: 0x2640000000000000 }.f,
1546     F64Transmute { u: 0x2650000000000000 }.f,
1547     F64Transmute { u: 0x2660000000000000 }.f,
1548     F64Transmute { u: 0x2670000000000000 }.f,
1549     F64Transmute { u: 0x2680000000000000 }.f,
1550     F64Transmute { u: 0x2690000000000000 }.f,
1551     F64Transmute { u: 0x26A0000000000000 }.f,
1552     F64Transmute { u: 0x26B0000000000000 }.f,
1553     F64Transmute { u: 0x26C0000000000000 }.f,
1554     F64Transmute { u: 0x26D0000000000000 }.f,
1555     F64Transmute { u: 0x26E0000000000000 }.f,
1556     F64Transmute { u: 0x26F0000000000000 }.f,
1557     F64Transmute { u: 0x2700000000000000 }.f,
1558     F64Transmute { u: 0x2710000000000000 }.f,
1559     F64Transmute { u: 0x2720000000000000 }.f,
1560     F64Transmute { u: 0x2730000000000000 }.f,
1561     F64Transmute { u: 0x2740000000000000 }.f,
1562     F64Transmute { u: 0x2750000000000000 }.f,
1563     F64Transmute { u: 0x2760000000000000 }.f,
1564     F64Transmute { u: 0x2770000000000000 }.f,
1565     F64Transmute { u: 0x2780000000000000 }.f,
1566     F64Transmute { u: 0x2790000000000000 }.f,
1567     F64Transmute { u: 0x27A0000000000000 }.f,
1568     F64Transmute { u: 0x27B0000000000000 }.f,
1569     F64Transmute { u: 0x27C0000000000000 }.f,
1570     F64Transmute { u: 0x27D0000000000000 }.f,
1571     F64Transmute { u: 0x27E0000000000000 }.f,
1572     F64Transmute { u: 0x27F0000000000000 }.f,
1573     F64Transmute { u: 0x2800000000000000 }.f,
1574     F64Transmute { u: 0x2810000000000000 }.f,
1575     F64Transmute { u: 0x2820000000000000 }.f,
1576     F64Transmute { u: 0x2830000000000000 }.f,
1577     F64Transmute { u: 0x2840000000000000 }.f,
1578     F64Transmute { u: 0x2850000000000000 }.f,
1579     F64Transmute { u: 0x2860000000000000 }.f,
1580     F64Transmute { u: 0x2870000000000000 }.f,
1581     F64Transmute { u: 0x2880000000000000 }.f,
1582     F64Transmute { u: 0x2890000000000000 }.f,
1583     F64Transmute { u: 0x28A0000000000000 }.f,
1584     F64Transmute { u: 0x28B0000000000000 }.f,
1585     F64Transmute { u: 0x28C0000000000000 }.f,
1586     F64Transmute { u: 0x28D0000000000000 }.f,
1587     F64Transmute { u: 0x28E0000000000000 }.f,
1588     F64Transmute { u: 0x28F0000000000000 }.f,
1589     F64Transmute { u: 0x2900000000000000 }.f,
1590     F64Transmute { u: 0x2910000000000000 }.f,
1591     F64Transmute { u: 0x2920000000000000 }.f,
1592     F64Transmute { u: 0x2930000000000000 }.f,
1593     F64Transmute { u: 0x2940000000000000 }.f,
1594     F64Transmute { u: 0x2950000000000000 }.f,
1595     F64Transmute { u: 0x2960000000000000 }.f,
1596     F64Transmute { u: 0x2970000000000000 }.f,
1597     F64Transmute { u: 0x2980000000000000 }.f,
1598     F64Transmute { u: 0x2990000000000000 }.f,
1599     F64Transmute { u: 0x29A0000000000000 }.f,
1600     F64Transmute { u: 0x29B0000000000000 }.f,
1601     F64Transmute { u: 0x29C0000000000000 }.f,
1602     F64Transmute { u: 0x29D0000000000000 }.f,
1603     F64Transmute { u: 0x29E0000000000000 }.f,
1604     F64Transmute { u: 0x29F0000000000000 }.f,
1605     F64Transmute { u: 0x2A00000000000000 }.f,
1606     F64Transmute { u: 0x2A10000000000000 }.f,
1607     F64Transmute { u: 0x2A20000000000000 }.f,
1608     F64Transmute { u: 0x2A30000000000000 }.f,
1609     F64Transmute { u: 0x2A40000000000000 }.f,
1610     F64Transmute { u: 0x2A50000000000000 }.f,
1611     F64Transmute { u: 0x2A60000000000000 }.f,
1612     F64Transmute { u: 0x2A70000000000000 }.f,
1613     F64Transmute { u: 0x2A80000000000000 }.f,
1614     F64Transmute { u: 0x2A90000000000000 }.f,
1615     F64Transmute { u: 0x2AA0000000000000 }.f,
1616     F64Transmute { u: 0x2AB0000000000000 }.f,
1617     F64Transmute { u: 0x2AC0000000000000 }.f,
1618     F64Transmute { u: 0x2AD0000000000000 }.f,
1619     F64Transmute { u: 0x2AE0000000000000 }.f,
1620     F64Transmute { u: 0x2AF0000000000000 }.f,
1621     F64Transmute { u: 0x2B00000000000000 }.f,
1622     F64Transmute { u: 0x2B10000000000000 }.f,
1623     F64Transmute { u: 0x2B20000000000000 }.f,
1624     F64Transmute { u: 0x2B30000000000000 }.f,
1625     F64Transmute { u: 0x2B40000000000000 }.f,
1626     F64Transmute { u: 0x2B50000000000000 }.f,
1627     F64Transmute { u: 0x2B60000000000000 }.f,
1628     F64Transmute { u: 0x2B70000000000000 }.f,
1629     F64Transmute { u: 0x2B80000000000000 }.f,
1630     F64Transmute { u: 0x2B90000000000000 }.f,
1631     F64Transmute { u: 0x2BA0000000000000 }.f,
1632     F64Transmute { u: 0x2BB0000000000000 }.f,
1633     F64Transmute { u: 0x2BC0000000000000 }.f,
1634     F64Transmute { u: 0x2BD0000000000000 }.f,
1635     F64Transmute { u: 0x2BE0000000000000 }.f,
1636     F64Transmute { u: 0x2BF0000000000000 }.f,
1637     F64Transmute { u: 0x2C00000000000000 }.f,
1638     F64Transmute { u: 0x2C10000000000000 }.f,
1639     F64Transmute { u: 0x2C20000000000000 }.f,
1640     F64Transmute { u: 0x2C30000000000000 }.f,
1641     F64Transmute { u: 0x2C40000000000000 }.f,
1642     F64Transmute { u: 0x2C50000000000000 }.f,
1643     F64Transmute { u: 0x2C60000000000000 }.f,
1644     F64Transmute { u: 0x2C70000000000000 }.f,
1645     F64Transmute { u: 0x2C80000000000000 }.f,
1646     F64Transmute { u: 0x2C90000000000000 }.f,
1647     F64Transmute { u: 0x2CA0000000000000 }.f,
1648     F64Transmute { u: 0x2CB0000000000000 }.f,
1649     F64Transmute { u: 0x2CC0000000000000 }.f,
1650     F64Transmute { u: 0x2CD0000000000000 }.f,
1651     F64Transmute { u: 0x2CE0000000000000 }.f,
1652     F64Transmute { u: 0x2CF0000000000000 }.f,
1653     F64Transmute { u: 0x2D00000000000000 }.f,
1654     F64Transmute { u: 0x2D10000000000000 }.f,
1655     F64Transmute { u: 0x2D20000000000000 }.f,
1656     F64Transmute { u: 0x2D30000000000000 }.f,
1657     F64Transmute { u: 0x2D40000000000000 }.f,
1658     F64Transmute { u: 0x2D50000000000000 }.f,
1659     F64Transmute { u: 0x2D60000000000000 }.f,
1660     F64Transmute { u: 0x2D70000000000000 }.f,
1661     F64Transmute { u: 0x2D80000000000000 }.f,
1662     F64Transmute { u: 0x2D90000000000000 }.f,
1663     F64Transmute { u: 0x2DA0000000000000 }.f,
1664     F64Transmute { u: 0x2DB0000000000000 }.f,
1665     F64Transmute { u: 0x2DC0000000000000 }.f,
1666     F64Transmute { u: 0x2DD0000000000000 }.f,
1667     F64Transmute { u: 0x2DE0000000000000 }.f,
1668     F64Transmute { u: 0x2DF0000000000000 }.f,
1669     F64Transmute { u: 0x2E00000000000000 }.f,
1670     F64Transmute { u: 0x2E10000000000000 }.f,
1671     F64Transmute { u: 0x2E20000000000000 }.f,
1672     F64Transmute { u: 0x2E30000000000000 }.f,
1673     F64Transmute { u: 0x2E40000000000000 }.f,
1674     F64Transmute { u: 0x2E50000000000000 }.f,
1675     F64Transmute { u: 0x2E60000000000000 }.f,
1676     F64Transmute { u: 0x2E70000000000000 }.f,
1677     F64Transmute { u: 0x2E80000000000000 }.f,
1678     F64Transmute { u: 0x2E90000000000000 }.f,
1679     F64Transmute { u: 0x2EA0000000000000 }.f,
1680     F64Transmute { u: 0x2EB0000000000000 }.f,
1681     F64Transmute { u: 0x2EC0000000000000 }.f,
1682     F64Transmute { u: 0x2ED0000000000000 }.f,
1683     F64Transmute { u: 0x2EE0000000000000 }.f,
1684     F64Transmute { u: 0x2EF0000000000000 }.f,
1685     F64Transmute { u: 0x2F00000000000000 }.f,
1686     F64Transmute { u: 0x2F10000000000000 }.f,
1687     F64Transmute { u: 0x2F20000000000000 }.f,
1688     F64Transmute { u: 0x2F30000000000000 }.f,
1689     F64Transmute { u: 0x2F40000000000000 }.f,
1690     F64Transmute { u: 0x2F50000000000000 }.f,
1691     F64Transmute { u: 0x2F60000000000000 }.f,
1692     F64Transmute { u: 0x2F70000000000000 }.f,
1693     F64Transmute { u: 0x2F80000000000000 }.f,
1694     F64Transmute { u: 0x2F90000000000000 }.f,
1695     F64Transmute { u: 0x2FA0000000000000 }.f,
1696     F64Transmute { u: 0x2FB0000000000000 }.f,
1697     F64Transmute { u: 0x2FC0000000000000 }.f,
1698     F64Transmute { u: 0x2FD0000000000000 }.f,
1699     F64Transmute { u: 0x2FE0000000000000 }.f,
1700     F64Transmute { u: 0x2FF0000000000000 }.f,
1701     F64Transmute { u: 0x3000000000000000 }.f,
1702     F64Transmute { u: 0x3010000000000000 }.f,
1703     F64Transmute { u: 0x3020000000000000 }.f,
1704     F64Transmute { u: 0x3030000000000000 }.f,
1705     F64Transmute { u: 0x3040000000000000 }.f,
1706     F64Transmute { u: 0x3050000000000000 }.f,
1707     F64Transmute { u: 0x3060000000000000 }.f,
1708     F64Transmute { u: 0x3070000000000000 }.f,
1709     F64Transmute { u: 0x3080000000000000 }.f,
1710     F64Transmute { u: 0x3090000000000000 }.f,
1711     F64Transmute { u: 0x30A0000000000000 }.f,
1712     F64Transmute { u: 0x30B0000000000000 }.f,
1713     F64Transmute { u: 0x30C0000000000000 }.f,
1714     F64Transmute { u: 0x30D0000000000000 }.f,
1715     F64Transmute { u: 0x30E0000000000000 }.f,
1716     F64Transmute { u: 0x30F0000000000000 }.f,
1717     F64Transmute { u: 0x3100000000000000 }.f,
1718     F64Transmute { u: 0x3110000000000000 }.f,
1719     F64Transmute { u: 0x3120000000000000 }.f,
1720     F64Transmute { u: 0x3130000000000000 }.f,
1721     F64Transmute { u: 0x3140000000000000 }.f,
1722     F64Transmute { u: 0x3150000000000000 }.f,
1723     F64Transmute { u: 0x3160000000000000 }.f,
1724     F64Transmute { u: 0x3170000000000000 }.f,
1725     F64Transmute { u: 0x3180000000000000 }.f,
1726     F64Transmute { u: 0x3190000000000000 }.f,
1727     F64Transmute { u: 0x31A0000000000000 }.f,
1728     F64Transmute { u: 0x31B0000000000000 }.f,
1729     F64Transmute { u: 0x31C0000000000000 }.f,
1730     F64Transmute { u: 0x31D0000000000000 }.f,
1731     F64Transmute { u: 0x31E0000000000000 }.f,
1732     F64Transmute { u: 0x31F0000000000000 }.f,
1733     F64Transmute { u: 0x3200000000000000 }.f,
1734     F64Transmute { u: 0x3210000000000000 }.f,
1735     F64Transmute { u: 0x3220000000000000 }.f,
1736     F64Transmute { u: 0x3230000000000000 }.f,
1737     F64Transmute { u: 0x3240000000000000 }.f,
1738     F64Transmute { u: 0x3250000000000000 }.f,
1739     F64Transmute { u: 0x3260000000000000 }.f,
1740     F64Transmute { u: 0x3270000000000000 }.f,
1741     F64Transmute { u: 0x3280000000000000 }.f,
1742     F64Transmute { u: 0x3290000000000000 }.f,
1743     F64Transmute { u: 0x32A0000000000000 }.f,
1744     F64Transmute { u: 0x32B0000000000000 }.f,
1745     F64Transmute { u: 0x32C0000000000000 }.f,
1746     F64Transmute { u: 0x32D0000000000000 }.f,
1747     F64Transmute { u: 0x32E0000000000000 }.f,
1748     F64Transmute { u: 0x32F0000000000000 }.f,
1749     F64Transmute { u: 0x3300000000000000 }.f,
1750     F64Transmute { u: 0x3310000000000000 }.f,
1751     F64Transmute { u: 0x3320000000000000 }.f,
1752     F64Transmute { u: 0x3330000000000000 }.f,
1753     F64Transmute { u: 0x3340000000000000 }.f,
1754     F64Transmute { u: 0x3350000000000000 }.f,
1755     F64Transmute { u: 0x3360000000000000 }.f,
1756     F64Transmute { u: 0x3370000000000000 }.f,
1757     F64Transmute { u: 0x3380000000000000 }.f,
1758     F64Transmute { u: 0x3390000000000000 }.f,
1759     F64Transmute { u: 0x33A0000000000000 }.f,
1760     F64Transmute { u: 0x33B0000000000000 }.f,
1761     F64Transmute { u: 0x33C0000000000000 }.f,
1762     F64Transmute { u: 0x33D0000000000000 }.f,
1763     F64Transmute { u: 0x33E0000000000000 }.f,
1764     F64Transmute { u: 0x33F0000000000000 }.f,
1765     F64Transmute { u: 0x3400000000000000 }.f,
1766     F64Transmute { u: 0x3410000000000000 }.f,
1767     F64Transmute { u: 0x3420000000000000 }.f,
1768     F64Transmute { u: 0x3430000000000000 }.f,
1769     F64Transmute { u: 0x3440000000000000 }.f,
1770     F64Transmute { u: 0x3450000000000000 }.f,
1771     F64Transmute { u: 0x3460000000000000 }.f,
1772     F64Transmute { u: 0x3470000000000000 }.f,
1773     F64Transmute { u: 0x3480000000000000 }.f,
1774     F64Transmute { u: 0x3490000000000000 }.f,
1775     F64Transmute { u: 0x34A0000000000000 }.f,
1776     F64Transmute { u: 0x34B0000000000000 }.f,
1777     F64Transmute { u: 0x34C0000000000000 }.f,
1778     F64Transmute { u: 0x34D0000000000000 }.f,
1779     F64Transmute { u: 0x34E0000000000000 }.f,
1780     F64Transmute { u: 0x34F0000000000000 }.f,
1781     F64Transmute { u: 0x3500000000000000 }.f,
1782     F64Transmute { u: 0x3510000000000000 }.f,
1783     F64Transmute { u: 0x3520000000000000 }.f,
1784     F64Transmute { u: 0x3530000000000000 }.f,
1785     F64Transmute { u: 0x3540000000000000 }.f,
1786     F64Transmute { u: 0x3550000000000000 }.f,
1787     F64Transmute { u: 0x3560000000000000 }.f,
1788     F64Transmute { u: 0x3570000000000000 }.f,
1789     F64Transmute { u: 0x3580000000000000 }.f,
1790     F64Transmute { u: 0x3590000000000000 }.f,
1791     F64Transmute { u: 0x35A0000000000000 }.f,
1792     F64Transmute { u: 0x35B0000000000000 }.f,
1793     F64Transmute { u: 0x35C0000000000000 }.f,
1794     F64Transmute { u: 0x35D0000000000000 }.f,
1795     F64Transmute { u: 0x35E0000000000000 }.f,
1796     F64Transmute { u: 0x35F0000000000000 }.f,
1797     F64Transmute { u: 0x3600000000000000 }.f,
1798     F64Transmute { u: 0x3610000000000000 }.f,
1799     F64Transmute { u: 0x3620000000000000 }.f,
1800     F64Transmute { u: 0x3630000000000000 }.f,
1801     F64Transmute { u: 0x3640000000000000 }.f,
1802     F64Transmute { u: 0x3650000000000000 }.f,
1803     F64Transmute { u: 0x3660000000000000 }.f,
1804     F64Transmute { u: 0x3670000000000000 }.f,
1805     F64Transmute { u: 0x3680000000000000 }.f,
1806     F64Transmute { u: 0x3690000000000000 }.f,
1807     F64Transmute { u: 0x36A0000000000000 }.f,
1808     F64Transmute { u: 0x36B0000000000000 }.f,
1809     F64Transmute { u: 0x36C0000000000000 }.f,
1810     F64Transmute { u: 0x36D0000000000000 }.f,
1811     F64Transmute { u: 0x36E0000000000000 }.f,
1812     F64Transmute { u: 0x36F0000000000000 }.f,
1813     F64Transmute { u: 0x3700000000000000 }.f,
1814     F64Transmute { u: 0x3710000000000000 }.f,
1815     F64Transmute { u: 0x3720000000000000 }.f,
1816     F64Transmute { u: 0x3730000000000000 }.f,
1817     F64Transmute { u: 0x3740000000000000 }.f,
1818     F64Transmute { u: 0x3750000000000000 }.f,
1819     F64Transmute { u: 0x3760000000000000 }.f,
1820     F64Transmute { u: 0x3770000000000000 }.f,
1821     F64Transmute { u: 0x3780000000000000 }.f,
1822     F64Transmute { u: 0x3790000000000000 }.f,
1823     F64Transmute { u: 0x37A0000000000000 }.f,
1824     F64Transmute { u: 0x37B0000000000000 }.f,
1825     F64Transmute { u: 0x37C0000000000000 }.f,
1826     F64Transmute { u: 0x37D0000000000000 }.f,
1827     F64Transmute { u: 0x37E0000000000000 }.f,
1828     F64Transmute { u: 0x37F0000000000000 }.f,
1829     F64Transmute { u: 0x3800000000000000 }.f,
1830     F64Transmute { u: 0x3810000000000000 }.f,
1831     F64Transmute { u: 0x3820000000000000 }.f,
1832     F64Transmute { u: 0x3830000000000000 }.f,
1833     F64Transmute { u: 0x3840000000000000 }.f,
1834     F64Transmute { u: 0x3850000000000000 }.f,
1835     F64Transmute { u: 0x3860000000000000 }.f,
1836     F64Transmute { u: 0x3870000000000000 }.f,
1837     F64Transmute { u: 0x3880000000000000 }.f,
1838     F64Transmute { u: 0x3890000000000000 }.f,
1839     F64Transmute { u: 0x38A0000000000000 }.f,
1840     F64Transmute { u: 0x38B0000000000000 }.f,
1841     F64Transmute { u: 0x38C0000000000000 }.f,
1842     F64Transmute { u: 0x38D0000000000000 }.f,
1843     F64Transmute { u: 0x38E0000000000000 }.f,
1844     F64Transmute { u: 0x38F0000000000000 }.f,
1845     F64Transmute { u: 0x3900000000000000 }.f,
1846     F64Transmute { u: 0x3910000000000000 }.f,
1847     F64Transmute { u: 0x3920000000000000 }.f,
1848     F64Transmute { u: 0x3930000000000000 }.f,
1849     F64Transmute { u: 0x3940000000000000 }.f,
1850     F64Transmute { u: 0x3950000000000000 }.f,
1851     F64Transmute { u: 0x3960000000000000 }.f,
1852     F64Transmute { u: 0x3970000000000000 }.f,
1853     F64Transmute { u: 0x3980000000000000 }.f,
1854     F64Transmute { u: 0x3990000000000000 }.f,
1855     F64Transmute { u: 0x39A0000000000000 }.f,
1856     F64Transmute { u: 0x39B0000000000000 }.f,
1857     F64Transmute { u: 0x39C0000000000000 }.f,
1858     F64Transmute { u: 0x39D0000000000000 }.f,
1859     F64Transmute { u: 0x39E0000000000000 }.f,
1860     F64Transmute { u: 0x39F0000000000000 }.f,
1861     F64Transmute { u: 0x3A00000000000000 }.f,
1862     F64Transmute { u: 0x3A10000000000000 }.f,
1863     F64Transmute { u: 0x3A20000000000000 }.f,
1864     F64Transmute { u: 0x3A30000000000000 }.f,
1865     F64Transmute { u: 0x3A40000000000000 }.f,
1866     F64Transmute { u: 0x3A50000000000000 }.f,
1867     F64Transmute { u: 0x3A60000000000000 }.f,
1868     F64Transmute { u: 0x3A70000000000000 }.f,
1869     F64Transmute { u: 0x3A80000000000000 }.f,
1870     F64Transmute { u: 0x3A90000000000000 }.f,
1871     F64Transmute { u: 0x3AA0000000000000 }.f,
1872     F64Transmute { u: 0x3AB0000000000000 }.f,
1873     F64Transmute { u: 0x3AC0000000000000 }.f,
1874     F64Transmute { u: 0x3AD0000000000000 }.f,
1875     F64Transmute { u: 0x3AE0000000000000 }.f,
1876     F64Transmute { u: 0x3AF0000000000000 }.f,
1877     F64Transmute { u: 0x3B00000000000000 }.f,
1878     F64Transmute { u: 0x3B10000000000000 }.f,
1879     F64Transmute { u: 0x3B20000000000000 }.f,
1880     F64Transmute { u: 0x3B30000000000000 }.f,
1881     F64Transmute { u: 0x3B40000000000000 }.f,
1882     F64Transmute { u: 0x3B50000000000000 }.f,
1883     F64Transmute { u: 0x3B60000000000000 }.f,
1884     F64Transmute { u: 0x3B70000000000000 }.f,
1885     F64Transmute { u: 0x3B80000000000000 }.f,
1886     F64Transmute { u: 0x3B90000000000000 }.f,
1887     F64Transmute { u: 0x3BA0000000000000 }.f,
1888     F64Transmute { u: 0x3BB0000000000000 }.f,
1889     F64Transmute { u: 0x3BC0000000000000 }.f,
1890     F64Transmute { u: 0x3BD0000000000000 }.f,
1891     F64Transmute { u: 0x3BE0000000000000 }.f,
1892     F64Transmute { u: 0x3BF0000000000000 }.f,
1893     F64Transmute { u: 0x3C00000000000000 }.f,
1894     F64Transmute { u: 0x3C10000000000000 }.f,
1895     F64Transmute { u: 0x3C20000000000000 }.f,
1896     F64Transmute { u: 0x3C30000000000000 }.f,
1897     F64Transmute { u: 0x3C40000000000000 }.f,
1898     F64Transmute { u: 0x3C50000000000000 }.f,
1899     F64Transmute { u: 0x3C60000000000000 }.f,
1900     F64Transmute { u: 0x3C70000000000000 }.f,
1901     F64Transmute { u: 0x3C80000000000000 }.f,
1902     F64Transmute { u: 0x3C90000000000000 }.f,
1903     F64Transmute { u: 0x3CA0000000000000 }.f,
1904     F64Transmute { u: 0x3CB0000000000000 }.f,
1905     F64Transmute { u: 0x3CC0000000000000 }.f,
1906     F64Transmute { u: 0x3CD0000000000000 }.f,
1907     F64Transmute { u: 0x3CE0000000000000 }.f,
1908     F64Transmute { u: 0x3CF0000000000000 }.f,
1909     F64Transmute { u: 0x3D00000000000000 }.f,
1910     F64Transmute { u: 0x3D10000000000000 }.f,
1911     F64Transmute { u: 0x3D20000000000000 }.f,
1912     F64Transmute { u: 0x3D30000000000000 }.f,
1913     F64Transmute { u: 0x3D40000000000000 }.f,
1914     F64Transmute { u: 0x3D50000000000000 }.f,
1915     F64Transmute { u: 0x3D60000000000000 }.f,
1916     F64Transmute { u: 0x3D70000000000000 }.f,
1917     F64Transmute { u: 0x3D80000000000000 }.f,
1918     F64Transmute { u: 0x3D90000000000000 }.f,
1919     F64Transmute { u: 0x3DA0000000000000 }.f,
1920     F64Transmute { u: 0x3DB0000000000000 }.f,
1921     F64Transmute { u: 0x3DC0000000000000 }.f,
1922     F64Transmute { u: 0x3DD0000000000000 }.f,
1923     F64Transmute { u: 0x3DE0000000000000 }.f,
1924     F64Transmute { u: 0x3DF0000000000000 }.f,
1925     F64Transmute { u: 0x3E00000000000000 }.f,
1926     F64Transmute { u: 0x3E10000000000000 }.f,
1927     F64Transmute { u: 0x3E20000000000000 }.f,
1928     F64Transmute { u: 0x3E30000000000000 }.f,
1929     F64Transmute { u: 0x3E40000000000000 }.f,
1930     F64Transmute { u: 0x3E50000000000000 }.f,
1931     F64Transmute { u: 0x3E60000000000000 }.f,
1932     F64Transmute { u: 0x3E70000000000000 }.f,
1933     F64Transmute { u: 0x3E80000000000000 }.f,
1934     F64Transmute { u: 0x3E90000000000000 }.f,
1935     F64Transmute { u: 0x3EA0000000000000 }.f,
1936     F64Transmute { u: 0x3EB0000000000000 }.f,
1937     F64Transmute { u: 0x3EC0000000000000 }.f,
1938     F64Transmute { u: 0x3ED0000000000000 }.f,
1939     F64Transmute { u: 0x3EE0000000000000 }.f,
1940     F64Transmute { u: 0x3EF0000000000000 }.f,
1941     F64Transmute { u: 0x3F00000000000000 }.f,
1942     F64Transmute { u: 0x3F10000000000000 }.f,
1943     F64Transmute { u: 0x3F20000000000000 }.f,
1944     F64Transmute { u: 0x3F30000000000000 }.f,
1945     F64Transmute { u: 0x3F40000000000000 }.f,
1946     F64Transmute { u: 0x3F50000000000000 }.f,
1947     F64Transmute { u: 0x3F60000000000000 }.f,
1948     F64Transmute { u: 0x3F70000000000000 }.f,
1949     F64Transmute { u: 0x3F80000000000000 }.f,
1950     F64Transmute { u: 0x3F90000000000000 }.f,
1951     F64Transmute { u: 0x3FA0000000000000 }.f,
1952     F64Transmute { u: 0x3FB0000000000000 }.f,
1953     F64Transmute { u: 0x3FC0000000000000 }.f,
1954     F64Transmute { u: 0x3FD0000000000000 }.f,
1955     F64Transmute { u: 0x3FE0000000000000 }.f,
1956     F64Transmute { u: 0x3FF0000000000000 }.f,
1957     F64Transmute { u: 0x4000000000000000 }.f,
1958     F64Transmute { u: 0x4010000000000000 }.f,
1959     F64Transmute { u: 0x4020000000000000 }.f,
1960     F64Transmute { u: 0x4030000000000000 }.f,
1961     F64Transmute { u: 0x4040000000000000 }.f,
1962     F64Transmute { u: 0x4050000000000000 }.f,
1963     F64Transmute { u: 0x4060000000000000 }.f,
1964     F64Transmute { u: 0x4070000000000000 }.f,
1965     F64Transmute { u: 0x4080000000000000 }.f,
1966     F64Transmute { u: 0x4090000000000000 }.f,
1967     F64Transmute { u: 0x40A0000000000000 }.f,
1968     F64Transmute { u: 0x40B0000000000000 }.f,
1969     F64Transmute { u: 0x40C0000000000000 }.f,
1970     F64Transmute { u: 0x40D0000000000000 }.f,
1971     F64Transmute { u: 0x40E0000000000000 }.f,
1972     F64Transmute { u: 0x40F0000000000000 }.f,
1973     F64Transmute { u: 0x4100000000000000 }.f,
1974     F64Transmute { u: 0x4110000000000000 }.f,
1975     F64Transmute { u: 0x4120000000000000 }.f,
1976     F64Transmute { u: 0x4130000000000000 }.f,
1977     F64Transmute { u: 0x4140000000000000 }.f,
1978     F64Transmute { u: 0x4150000000000000 }.f,
1979     F64Transmute { u: 0x4160000000000000 }.f,
1980     F64Transmute { u: 0x4170000000000000 }.f,
1981     F64Transmute { u: 0x4180000000000000 }.f,
1982     F64Transmute { u: 0x4190000000000000 }.f,
1983     F64Transmute { u: 0x41A0000000000000 }.f,
1984     F64Transmute { u: 0x41B0000000000000 }.f,
1985     F64Transmute { u: 0x41C0000000000000 }.f,
1986     F64Transmute { u: 0x41D0000000000000 }.f,
1987     F64Transmute { u: 0x41E0000000000000 }.f,
1988     F64Transmute { u: 0x41F0000000000000 }.f,
1989     F64Transmute { u: 0x4200000000000000 }.f,
1990     F64Transmute { u: 0x4210000000000000 }.f,
1991     F64Transmute { u: 0x4220000000000000 }.f,
1992     F64Transmute { u: 0x4230000000000000 }.f,
1993     F64Transmute { u: 0x4240000000000000 }.f,
1994     F64Transmute { u: 0x4250000000000000 }.f,
1995     F64Transmute { u: 0x4260000000000000 }.f,
1996     F64Transmute { u: 0x4270000000000000 }.f,
1997     F64Transmute { u: 0x4280000000000000 }.f,
1998     F64Transmute { u: 0x4290000000000000 }.f,
1999     F64Transmute { u: 0x42A0000000000000 }.f,
2000     F64Transmute { u: 0x42B0000000000000 }.f,
2001     F64Transmute { u: 0x42C0000000000000 }.f,
2002     F64Transmute { u: 0x42D0000000000000 }.f,
2003     F64Transmute { u: 0x42E0000000000000 }.f,
2004     F64Transmute { u: 0x42F0000000000000 }.f,
2005     F64Transmute { u: 0x4300000000000000 }.f,
2006     F64Transmute { u: 0x4310000000000000 }.f,
2007     F64Transmute { u: 0x4320000000000000 }.f,
2008     F64Transmute { u: 0x4330000000000000 }.f,
2009     F64Transmute { u: 0x4340000000000000 }.f,
2010     F64Transmute { u: 0x4350000000000000 }.f,
2011     F64Transmute { u: 0x4360000000000000 }.f,
2012     F64Transmute { u: 0x4370000000000000 }.f,
2013     F64Transmute { u: 0x4380000000000000 }.f,
2014     F64Transmute { u: 0x4390000000000000 }.f,
2015     F64Transmute { u: 0x43A0000000000000 }.f,
2016     F64Transmute { u: 0x43B0000000000000 }.f,
2017     F64Transmute { u: 0x43C0000000000000 }.f,
2018     F64Transmute { u: 0x43D0000000000000 }.f,
2019     F64Transmute { u: 0x43E0000000000000 }.f,
2020     F64Transmute { u: 0x43F0000000000000 }.f,
2021     F64Transmute { u: 0x4400000000000000 }.f,
2022     F64Transmute { u: 0x4410000000000000 }.f,
2023     F64Transmute { u: 0x4420000000000000 }.f,
2024     F64Transmute { u: 0x4430000000000000 }.f,
2025     F64Transmute { u: 0x4440000000000000 }.f,
2026     F64Transmute { u: 0x4450000000000000 }.f,
2027     F64Transmute { u: 0x4460000000000000 }.f,
2028     F64Transmute { u: 0x4470000000000000 }.f,
2029     F64Transmute { u: 0x4480000000000000 }.f,
2030     F64Transmute { u: 0x4490000000000000 }.f,
2031     F64Transmute { u: 0x44A0000000000000 }.f,
2032     F64Transmute { u: 0x44B0000000000000 }.f,
2033     F64Transmute { u: 0x44C0000000000000 }.f,
2034     F64Transmute { u: 0x44D0000000000000 }.f,
2035     F64Transmute { u: 0x44E0000000000000 }.f,
2036     F64Transmute { u: 0x44F0000000000000 }.f,
2037     F64Transmute { u: 0x4500000000000000 }.f,
2038     F64Transmute { u: 0x4510000000000000 }.f,
2039     F64Transmute { u: 0x4520000000000000 }.f,
2040     F64Transmute { u: 0x4530000000000000 }.f,
2041     F64Transmute { u: 0x4540000000000000 }.f,
2042     F64Transmute { u: 0x4550000000000000 }.f,
2043     F64Transmute { u: 0x4560000000000000 }.f,
2044     F64Transmute { u: 0x4570000000000000 }.f,
2045     F64Transmute { u: 0x4580000000000000 }.f,
2046     F64Transmute { u: 0x4590000000000000 }.f,
2047     F64Transmute { u: 0x45A0000000000000 }.f,
2048     F64Transmute { u: 0x45B0000000000000 }.f,
2049     F64Transmute { u: 0x45C0000000000000 }.f,
2050     F64Transmute { u: 0x45D0000000000000 }.f,
2051     F64Transmute { u: 0x45E0000000000000 }.f,
2052     F64Transmute { u: 0x45F0000000000000 }.f,
2053     F64Transmute { u: 0x4600000000000000 }.f,
2054     F64Transmute { u: 0x4610000000000000 }.f,
2055     F64Transmute { u: 0x4620000000000000 }.f,
2056     F64Transmute { u: 0x4630000000000000 }.f,
2057     F64Transmute { u: 0x4640000000000000 }.f,
2058     F64Transmute { u: 0x4650000000000000 }.f,
2059     F64Transmute { u: 0x4660000000000000 }.f,
2060     F64Transmute { u: 0x4670000000000000 }.f,
2061     F64Transmute { u: 0x4680000000000000 }.f,
2062     F64Transmute { u: 0x4690000000000000 }.f,
2063     F64Transmute { u: 0x46A0000000000000 }.f,
2064     F64Transmute { u: 0x46B0000000000000 }.f,
2065     F64Transmute { u: 0x46C0000000000000 }.f,
2066     F64Transmute { u: 0x46D0000000000000 }.f,
2067     F64Transmute { u: 0x46E0000000000000 }.f,
2068     F64Transmute { u: 0x46F0000000000000 }.f,
2069     F64Transmute { u: 0x4700000000000000 }.f,
2070     F64Transmute { u: 0x4710000000000000 }.f,
2071     F64Transmute { u: 0x4720000000000000 }.f,
2072     F64Transmute { u: 0x4730000000000000 }.f,
2073     F64Transmute { u: 0x4740000000000000 }.f,
2074     F64Transmute { u: 0x4750000000000000 }.f,
2075     F64Transmute { u: 0x4760000000000000 }.f,
2076     F64Transmute { u: 0x4770000000000000 }.f,
2077     F64Transmute { u: 0x4780000000000000 }.f,
2078     F64Transmute { u: 0x4790000000000000 }.f,
2079     F64Transmute { u: 0x47A0000000000000 }.f,
2080     F64Transmute { u: 0x47B0000000000000 }.f,
2081     F64Transmute { u: 0x47C0000000000000 }.f,
2082     F64Transmute { u: 0x47D0000000000000 }.f,
2083     F64Transmute { u: 0x47E0000000000000 }.f,
2084     F64Transmute { u: 0x47F0000000000000 }.f,
2085     F64Transmute { u: 0x4800000000000000 }.f,
2086     F64Transmute { u: 0x4810000000000000 }.f,
2087     F64Transmute { u: 0x4820000000000000 }.f,
2088     F64Transmute { u: 0x4830000000000000 }.f,
2089     F64Transmute { u: 0x4840000000000000 }.f,
2090     F64Transmute { u: 0x4850000000000000 }.f,
2091     F64Transmute { u: 0x4860000000000000 }.f,
2092     F64Transmute { u: 0x4870000000000000 }.f,
2093     F64Transmute { u: 0x4880000000000000 }.f,
2094     F64Transmute { u: 0x4890000000000000 }.f,
2095     F64Transmute { u: 0x48A0000000000000 }.f,
2096     F64Transmute { u: 0x48B0000000000000 }.f,
2097     F64Transmute { u: 0x48C0000000000000 }.f,
2098     F64Transmute { u: 0x48D0000000000000 }.f,
2099     F64Transmute { u: 0x48E0000000000000 }.f,
2100     F64Transmute { u: 0x48F0000000000000 }.f,
2101     F64Transmute { u: 0x4900000000000000 }.f,
2102     F64Transmute { u: 0x4910000000000000 }.f,
2103     F64Transmute { u: 0x4920000000000000 }.f,
2104     F64Transmute { u: 0x4930000000000000 }.f,
2105     F64Transmute { u: 0x4940000000000000 }.f,
2106     F64Transmute { u: 0x4950000000000000 }.f,
2107     F64Transmute { u: 0x4960000000000000 }.f,
2108     F64Transmute { u: 0x4970000000000000 }.f,
2109     F64Transmute { u: 0x4980000000000000 }.f,
2110     F64Transmute { u: 0x4990000000000000 }.f,
2111     F64Transmute { u: 0x49A0000000000000 }.f,
2112     F64Transmute { u: 0x49B0000000000000 }.f,
2113     F64Transmute { u: 0x49C0000000000000 }.f,
2114     F64Transmute { u: 0x49D0000000000000 }.f,
2115     F64Transmute { u: 0x49E0000000000000 }.f,
2116     F64Transmute { u: 0x49F0000000000000 }.f,
2117     F64Transmute { u: 0x4A00000000000000 }.f,
2118     F64Transmute { u: 0x4A10000000000000 }.f,
2119     F64Transmute { u: 0x4A20000000000000 }.f,
2120     F64Transmute { u: 0x4A30000000000000 }.f,
2121     F64Transmute { u: 0x4A40000000000000 }.f,
2122     F64Transmute { u: 0x4A50000000000000 }.f,
2123     F64Transmute { u: 0x4A60000000000000 }.f,
2124     F64Transmute { u: 0x4A70000000000000 }.f,
2125     F64Transmute { u: 0x4A80000000000000 }.f,
2126     F64Transmute { u: 0x4A90000000000000 }.f,
2127     F64Transmute { u: 0x4AA0000000000000 }.f,
2128     F64Transmute { u: 0x4AB0000000000000 }.f,
2129     F64Transmute { u: 0x4AC0000000000000 }.f,
2130     F64Transmute { u: 0x4AD0000000000000 }.f,
2131     F64Transmute { u: 0x4AE0000000000000 }.f,
2132     F64Transmute { u: 0x4AF0000000000000 }.f,
2133     F64Transmute { u: 0x4B00000000000000 }.f,
2134     F64Transmute { u: 0x4B10000000000000 }.f,
2135     F64Transmute { u: 0x4B20000000000000 }.f,
2136     F64Transmute { u: 0x4B30000000000000 }.f,
2137     F64Transmute { u: 0x4B40000000000000 }.f,
2138     F64Transmute { u: 0x4B50000000000000 }.f,
2139     F64Transmute { u: 0x4B60000000000000 }.f,
2140     F64Transmute { u: 0x4B70000000000000 }.f,
2141     F64Transmute { u: 0x4B80000000000000 }.f,
2142     F64Transmute { u: 0x4B90000000000000 }.f,
2143     F64Transmute { u: 0x4BA0000000000000 }.f,
2144     F64Transmute { u: 0x4BB0000000000000 }.f,
2145     F64Transmute { u: 0x4BC0000000000000 }.f,
2146     F64Transmute { u: 0x4BD0000000000000 }.f,
2147     F64Transmute { u: 0x4BE0000000000000 }.f,
2148     F64Transmute { u: 0x4BF0000000000000 }.f,
2149     F64Transmute { u: 0x4C00000000000000 }.f,
2150     F64Transmute { u: 0x4C10000000000000 }.f,
2151     F64Transmute { u: 0x4C20000000000000 }.f,
2152     F64Transmute { u: 0x4C30000000000000 }.f,
2153     F64Transmute { u: 0x4C40000000000000 }.f,
2154     F64Transmute { u: 0x4C50000000000000 }.f,
2155     F64Transmute { u: 0x4C60000000000000 }.f,
2156     F64Transmute { u: 0x4C70000000000000 }.f,
2157     F64Transmute { u: 0x4C80000000000000 }.f,
2158     F64Transmute { u: 0x4C90000000000000 }.f,
2159     F64Transmute { u: 0x4CA0000000000000 }.f,
2160     F64Transmute { u: 0x4CB0000000000000 }.f,
2161     F64Transmute { u: 0x4CC0000000000000 }.f,
2162     F64Transmute { u: 0x4CD0000000000000 }.f,
2163     F64Transmute { u: 0x4CE0000000000000 }.f,
2164     F64Transmute { u: 0x4CF0000000000000 }.f,
2165     F64Transmute { u: 0x4D00000000000000 }.f,
2166     F64Transmute { u: 0x4D10000000000000 }.f,
2167     F64Transmute { u: 0x4D20000000000000 }.f,
2168     F64Transmute { u: 0x4D30000000000000 }.f,
2169     F64Transmute { u: 0x4D40000000000000 }.f,
2170     F64Transmute { u: 0x4D50000000000000 }.f,
2171     F64Transmute { u: 0x4D60000000000000 }.f,
2172     F64Transmute { u: 0x4D70000000000000 }.f,
2173     F64Transmute { u: 0x4D80000000000000 }.f,
2174     F64Transmute { u: 0x4D90000000000000 }.f,
2175     F64Transmute { u: 0x4DA0000000000000 }.f,
2176     F64Transmute { u: 0x4DB0000000000000 }.f,
2177     F64Transmute { u: 0x4DC0000000000000 }.f,
2178     F64Transmute { u: 0x4DD0000000000000 }.f,
2179     F64Transmute { u: 0x4DE0000000000000 }.f,
2180     F64Transmute { u: 0x4DF0000000000000 }.f,
2181     F64Transmute { u: 0x4E00000000000000 }.f,
2182     F64Transmute { u: 0x4E10000000000000 }.f,
2183     F64Transmute { u: 0x4E20000000000000 }.f,
2184     F64Transmute { u: 0x4E30000000000000 }.f,
2185     F64Transmute { u: 0x4E40000000000000 }.f,
2186     F64Transmute { u: 0x4E50000000000000 }.f,
2187     F64Transmute { u: 0x4E60000000000000 }.f,
2188     F64Transmute { u: 0x4E70000000000000 }.f,
2189     F64Transmute { u: 0x4E80000000000000 }.f,
2190     F64Transmute { u: 0x4E90000000000000 }.f,
2191     F64Transmute { u: 0x4EA0000000000000 }.f,
2192     F64Transmute { u: 0x4EB0000000000000 }.f,
2193     F64Transmute { u: 0x4EC0000000000000 }.f,
2194     F64Transmute { u: 0x4ED0000000000000 }.f,
2195     F64Transmute { u: 0x4EE0000000000000 }.f,
2196     F64Transmute { u: 0x4EF0000000000000 }.f,
2197     F64Transmute { u: 0x4F00000000000000 }.f,
2198     F64Transmute { u: 0x4F10000000000000 }.f,
2199     F64Transmute { u: 0x4F20000000000000 }.f,
2200     F64Transmute { u: 0x4F30000000000000 }.f,
2201     F64Transmute { u: 0x4F40000000000000 }.f,
2202     F64Transmute { u: 0x4F50000000000000 }.f,
2203     F64Transmute { u: 0x4F60000000000000 }.f,
2204     F64Transmute { u: 0x4F70000000000000 }.f,
2205     F64Transmute { u: 0x4F80000000000000 }.f,
2206     F64Transmute { u: 0x4F90000000000000 }.f,
2207     F64Transmute { u: 0x4FA0000000000000 }.f,
2208     F64Transmute { u: 0x4FB0000000000000 }.f,
2209     F64Transmute { u: 0x4FC0000000000000 }.f,
2210     F64Transmute { u: 0x4FD0000000000000 }.f,
2211     F64Transmute { u: 0x4FE0000000000000 }.f,
2212     F64Transmute { u: 0x4FF0000000000000 }.f,
2213     F64Transmute { u: 0x5000000000000000 }.f,
2214     F64Transmute { u: 0x5010000000000000 }.f,
2215     F64Transmute { u: 0x5020000000000000 }.f,
2216     F64Transmute { u: 0x5030000000000000 }.f,
2217     F64Transmute { u: 0x5040000000000000 }.f,
2218     F64Transmute { u: 0x5050000000000000 }.f,
2219     F64Transmute { u: 0x5060000000000000 }.f,
2220     F64Transmute { u: 0x5070000000000000 }.f,
2221     F64Transmute { u: 0x5080000000000000 }.f,
2222     F64Transmute { u: 0x5090000000000000 }.f,
2223     F64Transmute { u: 0x50A0000000000000 }.f,
2224     F64Transmute { u: 0x50B0000000000000 }.f,
2225     F64Transmute { u: 0x50C0000000000000 }.f,
2226     F64Transmute { u: 0x50D0000000000000 }.f,
2227     F64Transmute { u: 0x50E0000000000000 }.f,
2228     F64Transmute { u: 0x50F0000000000000 }.f,
2229     F64Transmute { u: 0x5100000000000000 }.f,
2230     F64Transmute { u: 0x5110000000000000 }.f,
2231     F64Transmute { u: 0x5120000000000000 }.f,
2232     F64Transmute { u: 0x5130000000000000 }.f,
2233     F64Transmute { u: 0x5140000000000000 }.f,
2234     F64Transmute { u: 0x5150000000000000 }.f,
2235     F64Transmute { u: 0x5160000000000000 }.f,
2236     F64Transmute { u: 0x5170000000000000 }.f,
2237     F64Transmute { u: 0x5180000000000000 }.f,
2238     F64Transmute { u: 0x5190000000000000 }.f,
2239     F64Transmute { u: 0x51A0000000000000 }.f,
2240     F64Transmute { u: 0x51B0000000000000 }.f,
2241     F64Transmute { u: 0x51C0000000000000 }.f,
2242     F64Transmute { u: 0x51D0000000000000 }.f,
2243     F64Transmute { u: 0x51E0000000000000 }.f,
2244     F64Transmute { u: 0x51F0000000000000 }.f,
2245     F64Transmute { u: 0x5200000000000000 }.f,
2246     F64Transmute { u: 0x5210000000000000 }.f,
2247     F64Transmute { u: 0x5220000000000000 }.f,
2248     F64Transmute { u: 0x5230000000000000 }.f,
2249     F64Transmute { u: 0x5240000000000000 }.f,
2250     F64Transmute { u: 0x5250000000000000 }.f,
2251     F64Transmute { u: 0x5260000000000000 }.f,
2252     F64Transmute { u: 0x5270000000000000 }.f,
2253     F64Transmute { u: 0x5280000000000000 }.f,
2254     F64Transmute { u: 0x5290000000000000 }.f,
2255     F64Transmute { u: 0x52A0000000000000 }.f,
2256     F64Transmute { u: 0x52B0000000000000 }.f,
2257     F64Transmute { u: 0x52C0000000000000 }.f,
2258     F64Transmute { u: 0x52D0000000000000 }.f,
2259     F64Transmute { u: 0x52E0000000000000 }.f,
2260     F64Transmute { u: 0x52F0000000000000 }.f,
2261     F64Transmute { u: 0x5300000000000000 }.f,
2262     F64Transmute { u: 0x5310000000000000 }.f,
2263     F64Transmute { u: 0x5320000000000000 }.f,
2264     F64Transmute { u: 0x5330000000000000 }.f,
2265     F64Transmute { u: 0x5340000000000000 }.f,
2266     F64Transmute { u: 0x5350000000000000 }.f,
2267     F64Transmute { u: 0x5360000000000000 }.f,
2268     F64Transmute { u: 0x5370000000000000 }.f,
2269     F64Transmute { u: 0x5380000000000000 }.f,
2270     F64Transmute { u: 0x5390000000000000 }.f,
2271     F64Transmute { u: 0x53A0000000000000 }.f,
2272     F64Transmute { u: 0x53B0000000000000 }.f,
2273     F64Transmute { u: 0x53C0000000000000 }.f,
2274     F64Transmute { u: 0x53D0000000000000 }.f,
2275     F64Transmute { u: 0x53E0000000000000 }.f,
2276     F64Transmute { u: 0x53F0000000000000 }.f,
2277     F64Transmute { u: 0x5400000000000000 }.f,
2278     F64Transmute { u: 0x5410000000000000 }.f,
2279     F64Transmute { u: 0x5420000000000000 }.f,
2280     F64Transmute { u: 0x5430000000000000 }.f,
2281     F64Transmute { u: 0x5440000000000000 }.f,
2282     F64Transmute { u: 0x5450000000000000 }.f,
2283     F64Transmute { u: 0x5460000000000000 }.f,
2284     F64Transmute { u: 0x5470000000000000 }.f,
2285     F64Transmute { u: 0x5480000000000000 }.f,
2286     F64Transmute { u: 0x5490000000000000 }.f,
2287     F64Transmute { u: 0x54A0000000000000 }.f,
2288     F64Transmute { u: 0x54B0000000000000 }.f,
2289     F64Transmute { u: 0x54C0000000000000 }.f,
2290     F64Transmute { u: 0x54D0000000000000 }.f,
2291     F64Transmute { u: 0x54E0000000000000 }.f,
2292     F64Transmute { u: 0x54F0000000000000 }.f,
2293     F64Transmute { u: 0x5500000000000000 }.f,
2294     F64Transmute { u: 0x5510000000000000 }.f,
2295     F64Transmute { u: 0x5520000000000000 }.f,
2296     F64Transmute { u: 0x5530000000000000 }.f,
2297     F64Transmute { u: 0x5540000000000000 }.f,
2298     F64Transmute { u: 0x5550000000000000 }.f,
2299     F64Transmute { u: 0x5560000000000000 }.f,
2300     F64Transmute { u: 0x5570000000000000 }.f,
2301     F64Transmute { u: 0x5580000000000000 }.f,
2302     F64Transmute { u: 0x5590000000000000 }.f,
2303     F64Transmute { u: 0x55A0000000000000 }.f,
2304     F64Transmute { u: 0x55B0000000000000 }.f,
2305     F64Transmute { u: 0x55C0000000000000 }.f,
2306     F64Transmute { u: 0x55D0000000000000 }.f,
2307     F64Transmute { u: 0x55E0000000000000 }.f,
2308     F64Transmute { u: 0x55F0000000000000 }.f,
2309     F64Transmute { u: 0x5600000000000000 }.f,
2310     F64Transmute { u: 0x5610000000000000 }.f,
2311     F64Transmute { u: 0x5620000000000000 }.f,
2312     F64Transmute { u: 0x5630000000000000 }.f,
2313     F64Transmute { u: 0x5640000000000000 }.f,
2314     F64Transmute { u: 0x5650000000000000 }.f,
2315     F64Transmute { u: 0x5660000000000000 }.f,
2316     F64Transmute { u: 0x5670000000000000 }.f,
2317     F64Transmute { u: 0x5680000000000000 }.f,
2318     F64Transmute { u: 0x5690000000000000 }.f,
2319     F64Transmute { u: 0x56A0000000000000 }.f,
2320     F64Transmute { u: 0x56B0000000000000 }.f,
2321     F64Transmute { u: 0x56C0000000000000 }.f,
2322     F64Transmute { u: 0x56D0000000000000 }.f,
2323     F64Transmute { u: 0x56E0000000000000 }.f,
2324     F64Transmute { u: 0x56F0000000000000 }.f,
2325     F64Transmute { u: 0x5700000000000000 }.f,
2326     F64Transmute { u: 0x5710000000000000 }.f,
2327     F64Transmute { u: 0x5720000000000000 }.f,
2328     F64Transmute { u: 0x5730000000000000 }.f,
2329     F64Transmute { u: 0x5740000000000000 }.f,
2330     F64Transmute { u: 0x5750000000000000 }.f,
2331     F64Transmute { u: 0x5760000000000000 }.f,
2332     F64Transmute { u: 0x5770000000000000 }.f,
2333     F64Transmute { u: 0x5780000000000000 }.f,
2334     F64Transmute { u: 0x5790000000000000 }.f,
2335     F64Transmute { u: 0x57A0000000000000 }.f,
2336     F64Transmute { u: 0x57B0000000000000 }.f,
2337     F64Transmute { u: 0x57C0000000000000 }.f,
2338     F64Transmute { u: 0x57D0000000000000 }.f,
2339     F64Transmute { u: 0x57E0000000000000 }.f,
2340     F64Transmute { u: 0x57F0000000000000 }.f,
2341     F64Transmute { u: 0x5800000000000000 }.f,
2342     F64Transmute { u: 0x5810000000000000 }.f,
2343     F64Transmute { u: 0x5820000000000000 }.f,
2344     F64Transmute { u: 0x5830000000000000 }.f,
2345     F64Transmute { u: 0x5840000000000000 }.f,
2346     F64Transmute { u: 0x5850000000000000 }.f,
2347     F64Transmute { u: 0x5860000000000000 }.f,
2348     F64Transmute { u: 0x5870000000000000 }.f,
2349     F64Transmute { u: 0x5880000000000000 }.f,
2350     F64Transmute { u: 0x5890000000000000 }.f,
2351     F64Transmute { u: 0x58A0000000000000 }.f,
2352     F64Transmute { u: 0x58B0000000000000 }.f,
2353     F64Transmute { u: 0x58C0000000000000 }.f,
2354     F64Transmute { u: 0x58D0000000000000 }.f,
2355     F64Transmute { u: 0x58E0000000000000 }.f,
2356     F64Transmute { u: 0x58F0000000000000 }.f,
2357     F64Transmute { u: 0x5900000000000000 }.f,
2358     F64Transmute { u: 0x5910000000000000 }.f,
2359     F64Transmute { u: 0x5920000000000000 }.f,
2360     F64Transmute { u: 0x5930000000000000 }.f,
2361     F64Transmute { u: 0x5940000000000000 }.f,
2362     F64Transmute { u: 0x5950000000000000 }.f,
2363     F64Transmute { u: 0x5960000000000000 }.f,
2364     F64Transmute { u: 0x5970000000000000 }.f,
2365     F64Transmute { u: 0x5980000000000000 }.f,
2366     F64Transmute { u: 0x5990000000000000 }.f,
2367     F64Transmute { u: 0x59A0000000000000 }.f,
2368     F64Transmute { u: 0x59B0000000000000 }.f,
2369     F64Transmute { u: 0x59C0000000000000 }.f,
2370     F64Transmute { u: 0x59D0000000000000 }.f,
2371     F64Transmute { u: 0x59E0000000000000 }.f,
2372     F64Transmute { u: 0x59F0000000000000 }.f,
2373     F64Transmute { u: 0x5A00000000000000 }.f,
2374     F64Transmute { u: 0x5A10000000000000 }.f,
2375     F64Transmute { u: 0x5A20000000000000 }.f,
2376     F64Transmute { u: 0x5A30000000000000 }.f,
2377     F64Transmute { u: 0x5A40000000000000 }.f,
2378     F64Transmute { u: 0x5A50000000000000 }.f,
2379     F64Transmute { u: 0x5A60000000000000 }.f,
2380     F64Transmute { u: 0x5A70000000000000 }.f,
2381     F64Transmute { u: 0x5A80000000000000 }.f,
2382     F64Transmute { u: 0x5A90000000000000 }.f,
2383     F64Transmute { u: 0x5AA0000000000000 }.f,
2384     F64Transmute { u: 0x5AB0000000000000 }.f,
2385     F64Transmute { u: 0x5AC0000000000000 }.f,
2386     F64Transmute { u: 0x5AD0000000000000 }.f,
2387     F64Transmute { u: 0x5AE0000000000000 }.f,
2388     F64Transmute { u: 0x5AF0000000000000 }.f,
2389     F64Transmute { u: 0x5B00000000000000 }.f,
2390     F64Transmute { u: 0x5B10000000000000 }.f,
2391     F64Transmute { u: 0x5B20000000000000 }.f,
2392     F64Transmute { u: 0x5B30000000000000 }.f,
2393     F64Transmute { u: 0x5B40000000000000 }.f,
2394     F64Transmute { u: 0x5B50000000000000 }.f,
2395     F64Transmute { u: 0x5B60000000000000 }.f,
2396     F64Transmute { u: 0x5B70000000000000 }.f,
2397     F64Transmute { u: 0x5B80000000000000 }.f,
2398     F64Transmute { u: 0x5B90000000000000 }.f,
2399     F64Transmute { u: 0x5BA0000000000000 }.f,
2400     F64Transmute { u: 0x5BB0000000000000 }.f,
2401     F64Transmute { u: 0x5BC0000000000000 }.f,
2402     F64Transmute { u: 0x5BD0000000000000 }.f,
2403     F64Transmute { u: 0x5BE0000000000000 }.f,
2404     F64Transmute { u: 0x5BF0000000000000 }.f,
2405     F64Transmute { u: 0x5C00000000000000 }.f,
2406     F64Transmute { u: 0x5C10000000000000 }.f,
2407     F64Transmute { u: 0x5C20000000000000 }.f,
2408     F64Transmute { u: 0x5C30000000000000 }.f,
2409     F64Transmute { u: 0x5C40000000000000 }.f,
2410     F64Transmute { u: 0x5C50000000000000 }.f,
2411     F64Transmute { u: 0x5C60000000000000 }.f,
2412     F64Transmute { u: 0x5C70000000000000 }.f,
2413     F64Transmute { u: 0x5C80000000000000 }.f,
2414     F64Transmute { u: 0x5C90000000000000 }.f,
2415     F64Transmute { u: 0x5CA0000000000000 }.f,
2416     F64Transmute { u: 0x5CB0000000000000 }.f,
2417     F64Transmute { u: 0x5CC0000000000000 }.f,
2418     F64Transmute { u: 0x5CD0000000000000 }.f,
2419     F64Transmute { u: 0x5CE0000000000000 }.f,
2420     F64Transmute { u: 0x5CF0000000000000 }.f,
2421     F64Transmute { u: 0x5D00000000000000 }.f,
2422     F64Transmute { u: 0x5D10000000000000 }.f,
2423     F64Transmute { u: 0x5D20000000000000 }.f,
2424     F64Transmute { u: 0x5D30000000000000 }.f,
2425     F64Transmute { u: 0x5D40000000000000 }.f,
2426     F64Transmute { u: 0x5D50000000000000 }.f,
2427     F64Transmute { u: 0x5D60000000000000 }.f,
2428     F64Transmute { u: 0x5D70000000000000 }.f,
2429     F64Transmute { u: 0x5D80000000000000 }.f,
2430     F64Transmute { u: 0x5D90000000000000 }.f,
2431     F64Transmute { u: 0x5DA0000000000000 }.f,
2432     F64Transmute { u: 0x5DB0000000000000 }.f,
2433     F64Transmute { u: 0x5DC0000000000000 }.f,
2434     F64Transmute { u: 0x5DD0000000000000 }.f,
2435     F64Transmute { u: 0x5DE0000000000000 }.f,
2436     F64Transmute { u: 0x5DF0000000000000 }.f,
2437     F64Transmute { u: 0x5E00000000000000 }.f,
2438     F64Transmute { u: 0x5E10000000000000 }.f,
2439     F64Transmute { u: 0x5E20000000000000 }.f,
2440     F64Transmute { u: 0x5E30000000000000 }.f,
2441     F64Transmute { u: 0x5E40000000000000 }.f,
2442     F64Transmute { u: 0x5E50000000000000 }.f,
2443     F64Transmute { u: 0x5E60000000000000 }.f,
2444     F64Transmute { u: 0x5E70000000000000 }.f,
2445     F64Transmute { u: 0x5E80000000000000 }.f,
2446     F64Transmute { u: 0x5E90000000000000 }.f,
2447     F64Transmute { u: 0x5EA0000000000000 }.f,
2448     F64Transmute { u: 0x5EB0000000000000 }.f,
2449     F64Transmute { u: 0x5EC0000000000000 }.f,
2450     F64Transmute { u: 0x5ED0000000000000 }.f,
2451     F64Transmute { u: 0x5EE0000000000000 }.f,
2452     F64Transmute { u: 0x5EF0000000000000 }.f,
2453     F64Transmute { u: 0x5F00000000000000 }.f,
2454     F64Transmute { u: 0x5F10000000000000 }.f,
2455     F64Transmute { u: 0x5F20000000000000 }.f,
2456     F64Transmute { u: 0x5F30000000000000 }.f,
2457     F64Transmute { u: 0x5F40000000000000 }.f,
2458     F64Transmute { u: 0x5F50000000000000 }.f,
2459     F64Transmute { u: 0x5F60000000000000 }.f,
2460     F64Transmute { u: 0x5F70000000000000 }.f,
2461     F64Transmute { u: 0x5F80000000000000 }.f,
2462     F64Transmute { u: 0x5F90000000000000 }.f,
2463     F64Transmute { u: 0x5FA0000000000000 }.f,
2464     F64Transmute { u: 0x5FB0000000000000 }.f,
2465     F64Transmute { u: 0x5FC0000000000000 }.f,
2466     F64Transmute { u: 0x5FD0000000000000 }.f,
2467     F64Transmute { u: 0x5FE0000000000000 }.f,
2468     F64Transmute { u: 0x5FF0000000000000 }.f,
2469     F64Transmute { u: 0x6000000000000000 }.f,
2470     F64Transmute { u: 0x6010000000000000 }.f,
2471     F64Transmute { u: 0x6020000000000000 }.f,
2472     F64Transmute { u: 0x6030000000000000 }.f,
2473     F64Transmute { u: 0x6040000000000000 }.f,
2474     F64Transmute { u: 0x6050000000000000 }.f,
2475     F64Transmute { u: 0x6060000000000000 }.f,
2476     F64Transmute { u: 0x6070000000000000 }.f,
2477     F64Transmute { u: 0x6080000000000000 }.f,
2478     F64Transmute { u: 0x6090000000000000 }.f,
2479     F64Transmute { u: 0x60A0000000000000 }.f,
2480     F64Transmute { u: 0x60B0000000000000 }.f,
2481     F64Transmute { u: 0x60C0000000000000 }.f,
2482     F64Transmute { u: 0x60D0000000000000 }.f,
2483     F64Transmute { u: 0x60E0000000000000 }.f,
2484     F64Transmute { u: 0x60F0000000000000 }.f,
2485     F64Transmute { u: 0x6100000000000000 }.f,
2486     F64Transmute { u: 0x6110000000000000 }.f,
2487     F64Transmute { u: 0x6120000000000000 }.f,
2488     F64Transmute { u: 0x6130000000000000 }.f,
2489     F64Transmute { u: 0x6140000000000000 }.f,
2490     F64Transmute { u: 0x6150000000000000 }.f,
2491     F64Transmute { u: 0x6160000000000000 }.f,
2492     F64Transmute { u: 0x6170000000000000 }.f,
2493     F64Transmute { u: 0x6180000000000000 }.f,
2494     F64Transmute { u: 0x6190000000000000 }.f,
2495     F64Transmute { u: 0x61A0000000000000 }.f,
2496     F64Transmute { u: 0x61B0000000000000 }.f,
2497     F64Transmute { u: 0x61C0000000000000 }.f,
2498     F64Transmute { u: 0x61D0000000000000 }.f,
2499     F64Transmute { u: 0x61E0000000000000 }.f,
2500     F64Transmute { u: 0x61F0000000000000 }.f,
2501     F64Transmute { u: 0x6200000000000000 }.f,
2502     F64Transmute { u: 0x6210000000000000 }.f,
2503     F64Transmute { u: 0x6220000000000000 }.f,
2504     F64Transmute { u: 0x6230000000000000 }.f,
2505     F64Transmute { u: 0x6240000000000000 }.f,
2506     F64Transmute { u: 0x6250000000000000 }.f,
2507     F64Transmute { u: 0x6260000000000000 }.f,
2508     F64Transmute { u: 0x6270000000000000 }.f,
2509     F64Transmute { u: 0x6280000000000000 }.f,
2510     F64Transmute { u: 0x6290000000000000 }.f,
2511     F64Transmute { u: 0x62A0000000000000 }.f,
2512     F64Transmute { u: 0x62B0000000000000 }.f,
2513     F64Transmute { u: 0x62C0000000000000 }.f,
2514     F64Transmute { u: 0x62D0000000000000 }.f,
2515     F64Transmute { u: 0x62E0000000000000 }.f,
2516     F64Transmute { u: 0x62F0000000000000 }.f,
2517     F64Transmute { u: 0x6300000000000000 }.f,
2518     F64Transmute { u: 0x6310000000000000 }.f,
2519     F64Transmute { u: 0x6320000000000000 }.f,
2520     F64Transmute { u: 0x6330000000000000 }.f,
2521     F64Transmute { u: 0x6340000000000000 }.f,
2522     F64Transmute { u: 0x6350000000000000 }.f,
2523     F64Transmute { u: 0x6360000000000000 }.f,
2524     F64Transmute { u: 0x6370000000000000 }.f,
2525     F64Transmute { u: 0x6380000000000000 }.f,
2526     F64Transmute { u: 0x6390000000000000 }.f,
2527     F64Transmute { u: 0x63A0000000000000 }.f,
2528     F64Transmute { u: 0x63B0000000000000 }.f,
2529     F64Transmute { u: 0x63C0000000000000 }.f,
2530     F64Transmute { u: 0x63D0000000000000 }.f,
2531     F64Transmute { u: 0x63E0000000000000 }.f,
2532     F64Transmute { u: 0x63F0000000000000 }.f,
2533     F64Transmute { u: 0x6400000000000000 }.f,
2534     F64Transmute { u: 0x6410000000000000 }.f,
2535     F64Transmute { u: 0x6420000000000000 }.f,
2536     F64Transmute { u: 0x6430000000000000 }.f,
2537     F64Transmute { u: 0x6440000000000000 }.f,
2538     F64Transmute { u: 0x6450000000000000 }.f,
2539     F64Transmute { u: 0x6460000000000000 }.f,
2540     F64Transmute { u: 0x6470000000000000 }.f,
2541     F64Transmute { u: 0x6480000000000000 }.f,
2542     F64Transmute { u: 0x6490000000000000 }.f,
2543     F64Transmute { u: 0x64A0000000000000 }.f,
2544     F64Transmute { u: 0x64B0000000000000 }.f,
2545     F64Transmute { u: 0x64C0000000000000 }.f,
2546     F64Transmute { u: 0x64D0000000000000 }.f,
2547     F64Transmute { u: 0x64E0000000000000 }.f,
2548     F64Transmute { u: 0x64F0000000000000 }.f,
2549     F64Transmute { u: 0x6500000000000000 }.f,
2550     F64Transmute { u: 0x6510000000000000 }.f,
2551     F64Transmute { u: 0x6520000000000000 }.f,
2552     F64Transmute { u: 0x6530000000000000 }.f,
2553     F64Transmute { u: 0x6540000000000000 }.f,
2554     F64Transmute { u: 0x6550000000000000 }.f,
2555     F64Transmute { u: 0x6560000000000000 }.f,
2556     F64Transmute { u: 0x6570000000000000 }.f,
2557     F64Transmute { u: 0x6580000000000000 }.f,
2558     F64Transmute { u: 0x6590000000000000 }.f,
2559     F64Transmute { u: 0x65A0000000000000 }.f,
2560     F64Transmute { u: 0x65B0000000000000 }.f,
2561     F64Transmute { u: 0x65C0000000000000 }.f,
2562     F64Transmute { u: 0x65D0000000000000 }.f,
2563     F64Transmute { u: 0x65E0000000000000 }.f,
2564     F64Transmute { u: 0x65F0000000000000 }.f,
2565     F64Transmute { u: 0x6600000000000000 }.f,
2566     F64Transmute { u: 0x6610000000000000 }.f,
2567     F64Transmute { u: 0x6620000000000000 }.f,
2568     F64Transmute { u: 0x6630000000000000 }.f,
2569     F64Transmute { u: 0x6640000000000000 }.f,
2570     F64Transmute { u: 0x6650000000000000 }.f,
2571     F64Transmute { u: 0x6660000000000000 }.f,
2572     F64Transmute { u: 0x6670000000000000 }.f,
2573     F64Transmute { u: 0x6680000000000000 }.f,
2574     F64Transmute { u: 0x6690000000000000 }.f,
2575     F64Transmute { u: 0x66A0000000000000 }.f,
2576     F64Transmute { u: 0x66B0000000000000 }.f,
2577     F64Transmute { u: 0x66C0000000000000 }.f,
2578     F64Transmute { u: 0x66D0000000000000 }.f,
2579     F64Transmute { u: 0x66E0000000000000 }.f,
2580     F64Transmute { u: 0x66F0000000000000 }.f,
2581     F64Transmute { u: 0x6700000000000000 }.f,
2582     F64Transmute { u: 0x6710000000000000 }.f,
2583     F64Transmute { u: 0x6720000000000000 }.f,
2584     F64Transmute { u: 0x6730000000000000 }.f,
2585     F64Transmute { u: 0x6740000000000000 }.f,
2586     F64Transmute { u: 0x6750000000000000 }.f,
2587     F64Transmute { u: 0x6760000000000000 }.f,
2588     F64Transmute { u: 0x6770000000000000 }.f,
2589     F64Transmute { u: 0x6780000000000000 }.f,
2590     F64Transmute { u: 0x6790000000000000 }.f,
2591     F64Transmute { u: 0x67A0000000000000 }.f,
2592     F64Transmute { u: 0x67B0000000000000 }.f,
2593     F64Transmute { u: 0x67C0000000000000 }.f,
2594     F64Transmute { u: 0x67D0000000000000 }.f,
2595     F64Transmute { u: 0x67E0000000000000 }.f,
2596     F64Transmute { u: 0x67F0000000000000 }.f,
2597     F64Transmute { u: 0x6800000000000000 }.f,
2598     F64Transmute { u: 0x6810000000000000 }.f,
2599     F64Transmute { u: 0x6820000000000000 }.f,
2600     F64Transmute { u: 0x6830000000000000 }.f,
2601     F64Transmute { u: 0x6840000000000000 }.f,
2602     F64Transmute { u: 0x6850000000000000 }.f,
2603     F64Transmute { u: 0x6860000000000000 }.f,
2604     F64Transmute { u: 0x6870000000000000 }.f,
2605     F64Transmute { u: 0x6880000000000000 }.f,
2606     F64Transmute { u: 0x6890000000000000 }.f,
2607     F64Transmute { u: 0x68A0000000000000 }.f,
2608     F64Transmute { u: 0x68B0000000000000 }.f,
2609     F64Transmute { u: 0x68C0000000000000 }.f,
2610     F64Transmute { u: 0x68D0000000000000 }.f,
2611     F64Transmute { u: 0x68E0000000000000 }.f,
2612     F64Transmute { u: 0x68F0000000000000 }.f,
2613     F64Transmute { u: 0x6900000000000000 }.f,
2614     F64Transmute { u: 0x6910000000000000 }.f,
2615     F64Transmute { u: 0x6920000000000000 }.f,
2616     F64Transmute { u: 0x6930000000000000 }.f,
2617     F64Transmute { u: 0x6940000000000000 }.f,
2618     F64Transmute { u: 0x6950000000000000 }.f,
2619     F64Transmute { u: 0x6960000000000000 }.f,
2620     F64Transmute { u: 0x6970000000000000 }.f,
2621     F64Transmute { u: 0x6980000000000000 }.f,
2622     F64Transmute { u: 0x6990000000000000 }.f,
2623     F64Transmute { u: 0x69A0000000000000 }.f,
2624     F64Transmute { u: 0x69B0000000000000 }.f,
2625     F64Transmute { u: 0x69C0000000000000 }.f,
2626     F64Transmute { u: 0x69D0000000000000 }.f,
2627     F64Transmute { u: 0x69E0000000000000 }.f,
2628     F64Transmute { u: 0x69F0000000000000 }.f,
2629     F64Transmute { u: 0x6A00000000000000 }.f,
2630     F64Transmute { u: 0x6A10000000000000 }.f,
2631     F64Transmute { u: 0x6A20000000000000 }.f,
2632     F64Transmute { u: 0x6A30000000000000 }.f,
2633     F64Transmute { u: 0x6A40000000000000 }.f,
2634     F64Transmute { u: 0x6A50000000000000 }.f,
2635     F64Transmute { u: 0x6A60000000000000 }.f,
2636     F64Transmute { u: 0x6A70000000000000 }.f,
2637     F64Transmute { u: 0x6A80000000000000 }.f,
2638     F64Transmute { u: 0x6A90000000000000 }.f,
2639     F64Transmute { u: 0x6AA0000000000000 }.f,
2640     F64Transmute { u: 0x6AB0000000000000 }.f,
2641     F64Transmute { u: 0x6AC0000000000000 }.f,
2642     F64Transmute { u: 0x6AD0000000000000 }.f,
2643     F64Transmute { u: 0x6AE0000000000000 }.f,
2644     F64Transmute { u: 0x6AF0000000000000 }.f,
2645     F64Transmute { u: 0x6B00000000000000 }.f,
2646     F64Transmute { u: 0x6B10000000000000 }.f,
2647     F64Transmute { u: 0x6B20000000000000 }.f,
2648     F64Transmute { u: 0x6B30000000000000 }.f,
2649     F64Transmute { u: 0x6B40000000000000 }.f,
2650     F64Transmute { u: 0x6B50000000000000 }.f,
2651     F64Transmute { u: 0x6B60000000000000 }.f,
2652     F64Transmute { u: 0x6B70000000000000 }.f,
2653     F64Transmute { u: 0x6B80000000000000 }.f,
2654     F64Transmute { u: 0x6B90000000000000 }.f,
2655     F64Transmute { u: 0x6BA0000000000000 }.f,
2656     F64Transmute { u: 0x6BB0000000000000 }.f,
2657     F64Transmute { u: 0x6BC0000000000000 }.f,
2658     F64Transmute { u: 0x6BD0000000000000 }.f,
2659     F64Transmute { u: 0x6BE0000000000000 }.f,
2660     F64Transmute { u: 0x6BF0000000000000 }.f,
2661     F64Transmute { u: 0x6C00000000000000 }.f,
2662     F64Transmute { u: 0x6C10000000000000 }.f,
2663     F64Transmute { u: 0x6C20000000000000 }.f,
2664     F64Transmute { u: 0x6C30000000000000 }.f,
2665     F64Transmute { u: 0x6C40000000000000 }.f,
2666     F64Transmute { u: 0x6C50000000000000 }.f,
2667     F64Transmute { u: 0x6C60000000000000 }.f,
2668     F64Transmute { u: 0x6C70000000000000 }.f,
2669     F64Transmute { u: 0x6C80000000000000 }.f,
2670     F64Transmute { u: 0x6C90000000000000 }.f,
2671     F64Transmute { u: 0x6CA0000000000000 }.f,
2672     F64Transmute { u: 0x6CB0000000000000 }.f,
2673     F64Transmute { u: 0x6CC0000000000000 }.f,
2674     F64Transmute { u: 0x6CD0000000000000 }.f,
2675     F64Transmute { u: 0x6CE0000000000000 }.f,
2676     F64Transmute { u: 0x6CF0000000000000 }.f,
2677     F64Transmute { u: 0x6D00000000000000 }.f,
2678     F64Transmute { u: 0x6D10000000000000 }.f,
2679     F64Transmute { u: 0x6D20000000000000 }.f,
2680     F64Transmute { u: 0x6D30000000000000 }.f,
2681     F64Transmute { u: 0x6D40000000000000 }.f,
2682     F64Transmute { u: 0x6D50000000000000 }.f,
2683     F64Transmute { u: 0x6D60000000000000 }.f,
2684     F64Transmute { u: 0x6D70000000000000 }.f,
2685     F64Transmute { u: 0x6D80000000000000 }.f,
2686     F64Transmute { u: 0x6D90000000000000 }.f,
2687     F64Transmute { u: 0x6DA0000000000000 }.f,
2688     F64Transmute { u: 0x6DB0000000000000 }.f,
2689     F64Transmute { u: 0x6DC0000000000000 }.f,
2690     F64Transmute { u: 0x6DD0000000000000 }.f,
2691     F64Transmute { u: 0x6DE0000000000000 }.f,
2692     F64Transmute { u: 0x6DF0000000000000 }.f,
2693     F64Transmute { u: 0x6E00000000000000 }.f,
2694     F64Transmute { u: 0x6E10000000000000 }.f,
2695     F64Transmute { u: 0x6E20000000000000 }.f,
2696     F64Transmute { u: 0x6E30000000000000 }.f,
2697     F64Transmute { u: 0x6E40000000000000 }.f,
2698     F64Transmute { u: 0x6E50000000000000 }.f,
2699     F64Transmute { u: 0x6E60000000000000 }.f,
2700     F64Transmute { u: 0x6E70000000000000 }.f,
2701     F64Transmute { u: 0x6E80000000000000 }.f,
2702     F64Transmute { u: 0x6E90000000000000 }.f,
2703     F64Transmute { u: 0x6EA0000000000000 }.f,
2704     F64Transmute { u: 0x6EB0000000000000 }.f,
2705     F64Transmute { u: 0x6EC0000000000000 }.f,
2706     F64Transmute { u: 0x6ED0000000000000 }.f,
2707     F64Transmute { u: 0x6EE0000000000000 }.f,
2708     F64Transmute { u: 0x6EF0000000000000 }.f,
2709     F64Transmute { u: 0x6F00000000000000 }.f,
2710     F64Transmute { u: 0x6F10000000000000 }.f,
2711     F64Transmute { u: 0x6F20000000000000 }.f,
2712     F64Transmute { u: 0x6F30000000000000 }.f,
2713     F64Transmute { u: 0x6F40000000000000 }.f,
2714     F64Transmute { u: 0x6F50000000000000 }.f,
2715     F64Transmute { u: 0x6F60000000000000 }.f,
2716     F64Transmute { u: 0x6F70000000000000 }.f,
2717     F64Transmute { u: 0x6F80000000000000 }.f,
2718     F64Transmute { u: 0x6F90000000000000 }.f,
2719     F64Transmute { u: 0x6FA0000000000000 }.f,
2720     F64Transmute { u: 0x6FB0000000000000 }.f,
2721     F64Transmute { u: 0x6FC0000000000000 }.f,
2722     F64Transmute { u: 0x6FD0000000000000 }.f,
2723     F64Transmute { u: 0x6FE0000000000000 }.f,
2724     F64Transmute { u: 0x6FF0000000000000 }.f,
2725     F64Transmute { u: 0x7000000000000000 }.f,
2726     F64Transmute { u: 0x7010000000000000 }.f,
2727     F64Transmute { u: 0x7020000000000000 }.f,
2728     F64Transmute { u: 0x7030000000000000 }.f,
2729     F64Transmute { u: 0x7040000000000000 }.f,
2730     F64Transmute { u: 0x7050000000000000 }.f,
2731     F64Transmute { u: 0x7060000000000000 }.f,
2732     F64Transmute { u: 0x7070000000000000 }.f,
2733     F64Transmute { u: 0x7080000000000000 }.f,
2734     F64Transmute { u: 0x7090000000000000 }.f,
2735     F64Transmute { u: 0x70A0000000000000 }.f,
2736     F64Transmute { u: 0x70B0000000000000 }.f,
2737     F64Transmute { u: 0x70C0000000000000 }.f,
2738     F64Transmute { u: 0x70D0000000000000 }.f,
2739     F64Transmute { u: 0x70E0000000000000 }.f,
2740     F64Transmute { u: 0x70F0000000000000 }.f,
2741     F64Transmute { u: 0x7100000000000000 }.f,
2742     F64Transmute { u: 0x7110000000000000 }.f,
2743     F64Transmute { u: 0x7120000000000000 }.f,
2744     F64Transmute { u: 0x7130000000000000 }.f,
2745     F64Transmute { u: 0x7140000000000000 }.f,
2746     F64Transmute { u: 0x7150000000000000 }.f,
2747     F64Transmute { u: 0x7160000000000000 }.f,
2748     F64Transmute { u: 0x7170000000000000 }.f,
2749     F64Transmute { u: 0x7180000000000000 }.f,
2750     F64Transmute { u: 0x7190000000000000 }.f,
2751     F64Transmute { u: 0x71A0000000000000 }.f,
2752     F64Transmute { u: 0x71B0000000000000 }.f,
2753     F64Transmute { u: 0x71C0000000000000 }.f,
2754     F64Transmute { u: 0x71D0000000000000 }.f,
2755     F64Transmute { u: 0x71E0000000000000 }.f,
2756     F64Transmute { u: 0x71F0000000000000 }.f,
2757     F64Transmute { u: 0x7200000000000000 }.f,
2758     F64Transmute { u: 0x7210000000000000 }.f,
2759     F64Transmute { u: 0x7220000000000000 }.f,
2760     F64Transmute { u: 0x7230000000000000 }.f,
2761     F64Transmute { u: 0x7240000000000000 }.f,
2762     F64Transmute { u: 0x7250000000000000 }.f,
2763     F64Transmute { u: 0x7260000000000000 }.f,
2764     F64Transmute { u: 0x7270000000000000 }.f,
2765     F64Transmute { u: 0x7280000000000000 }.f,
2766     F64Transmute { u: 0x7290000000000000 }.f,
2767     F64Transmute { u: 0x72A0000000000000 }.f,
2768     F64Transmute { u: 0x72B0000000000000 }.f,
2769     F64Transmute { u: 0x72C0000000000000 }.f,
2770     F64Transmute { u: 0x72D0000000000000 }.f,
2771     F64Transmute { u: 0x72E0000000000000 }.f,
2772     F64Transmute { u: 0x72F0000000000000 }.f,
2773     F64Transmute { u: 0x7300000000000000 }.f,
2774     F64Transmute { u: 0x7310000000000000 }.f,
2775     F64Transmute { u: 0x7320000000000000 }.f,
2776     F64Transmute { u: 0x7330000000000000 }.f,
2777     F64Transmute { u: 0x7340000000000000 }.f,
2778     F64Transmute { u: 0x7350000000000000 }.f,
2779     F64Transmute { u: 0x7360000000000000 }.f,
2780     F64Transmute { u: 0x7370000000000000 }.f,
2781     F64Transmute { u: 0x7380000000000000 }.f,
2782     F64Transmute { u: 0x7390000000000000 }.f,
2783     F64Transmute { u: 0x73A0000000000000 }.f,
2784     F64Transmute { u: 0x73B0000000000000 }.f,
2785     F64Transmute { u: 0x73C0000000000000 }.f,
2786     F64Transmute { u: 0x73D0000000000000 }.f,
2787     F64Transmute { u: 0x73E0000000000000 }.f,
2788     F64Transmute { u: 0x73F0000000000000 }.f,
2789     F64Transmute { u: 0x7400000000000000 }.f,
2790     F64Transmute { u: 0x7410000000000000 }.f,
2791     F64Transmute { u: 0x7420000000000000 }.f,
2792     F64Transmute { u: 0x7430000000000000 }.f,
2793     F64Transmute { u: 0x7440000000000000 }.f,
2794     F64Transmute { u: 0x7450000000000000 }.f,
2795     F64Transmute { u: 0x7460000000000000 }.f,
2796     F64Transmute { u: 0x7470000000000000 }.f,
2797     F64Transmute { u: 0x7480000000000000 }.f,
2798     F64Transmute { u: 0x7490000000000000 }.f,
2799     F64Transmute { u: 0x74A0000000000000 }.f,
2800     F64Transmute { u: 0x74B0000000000000 }.f,
2801     F64Transmute { u: 0x74C0000000000000 }.f,
2802     F64Transmute { u: 0x74D0000000000000 }.f,
2803     F64Transmute { u: 0x74E0000000000000 }.f,
2804     F64Transmute { u: 0x74F0000000000000 }.f,
2805     F64Transmute { u: 0x7500000000000000 }.f,
2806     F64Transmute { u: 0x7510000000000000 }.f,
2807     F64Transmute { u: 0x7520000000000000 }.f,
2808     F64Transmute { u: 0x7530000000000000 }.f,
2809     F64Transmute { u: 0x7540000000000000 }.f,
2810     F64Transmute { u: 0x7550000000000000 }.f,
2811     F64Transmute { u: 0x7560000000000000 }.f,
2812     F64Transmute { u: 0x7570000000000000 }.f,
2813     F64Transmute { u: 0x7580000000000000 }.f,
2814     F64Transmute { u: 0x7590000000000000 }.f,
2815     F64Transmute { u: 0x75A0000000000000 }.f,
2816     F64Transmute { u: 0x75B0000000000000 }.f,
2817     F64Transmute { u: 0x75C0000000000000 }.f,
2818     F64Transmute { u: 0x75D0000000000000 }.f,
2819     F64Transmute { u: 0x75E0000000000000 }.f,
2820     F64Transmute { u: 0x75F0000000000000 }.f,
2821     F64Transmute { u: 0x7600000000000000 }.f,
2822     F64Transmute { u: 0x7610000000000000 }.f,
2823     F64Transmute { u: 0x7620000000000000 }.f,
2824     F64Transmute { u: 0x7630000000000000 }.f,
2825     F64Transmute { u: 0x7640000000000000 }.f,
2826     F64Transmute { u: 0x7650000000000000 }.f,
2827     F64Transmute { u: 0x7660000000000000 }.f,
2828     F64Transmute { u: 0x7670000000000000 }.f,
2829     F64Transmute { u: 0x7680000000000000 }.f,
2830     F64Transmute { u: 0x7690000000000000 }.f,
2831     F64Transmute { u: 0x76A0000000000000 }.f,
2832     F64Transmute { u: 0x76B0000000000000 }.f,
2833     F64Transmute { u: 0x76C0000000000000 }.f,
2834     F64Transmute { u: 0x76D0000000000000 }.f,
2835     F64Transmute { u: 0x76E0000000000000 }.f,
2836     F64Transmute { u: 0x76F0000000000000 }.f,
2837     F64Transmute { u: 0x7700000000000000 }.f,
2838     F64Transmute { u: 0x7710000000000000 }.f,
2839     F64Transmute { u: 0x7720000000000000 }.f,
2840     F64Transmute { u: 0x7730000000000000 }.f,
2841     F64Transmute { u: 0x7740000000000000 }.f,
2842     F64Transmute { u: 0x7750000000000000 }.f,
2843     F64Transmute { u: 0x7760000000000000 }.f,
2844     F64Transmute { u: 0x7770000000000000 }.f,
2845     F64Transmute { u: 0x7780000000000000 }.f,
2846     F64Transmute { u: 0x7790000000000000 }.f,
2847     F64Transmute { u: 0x77A0000000000000 }.f,
2848     F64Transmute { u: 0x77B0000000000000 }.f,
2849     F64Transmute { u: 0x77C0000000000000 }.f,
2850     F64Transmute { u: 0x77D0000000000000 }.f,
2851     F64Transmute { u: 0x77E0000000000000 }.f,
2852     F64Transmute { u: 0x77F0000000000000 }.f,
2853     F64Transmute { u: 0x7800000000000000 }.f,
2854     F64Transmute { u: 0x7810000000000000 }.f,
2855     F64Transmute { u: 0x7820000000000000 }.f,
2856     F64Transmute { u: 0x7830000000000000 }.f,
2857     F64Transmute { u: 0x7840000000000000 }.f,
2858     F64Transmute { u: 0x7850000000000000 }.f,
2859     F64Transmute { u: 0x7860000000000000 }.f,
2860     F64Transmute { u: 0x7870000000000000 }.f,
2861     F64Transmute { u: 0x7880000000000000 }.f,
2862     F64Transmute { u: 0x7890000000000000 }.f,
2863     F64Transmute { u: 0x78A0000000000000 }.f,
2864     F64Transmute { u: 0x78B0000000000000 }.f,
2865     F64Transmute { u: 0x78C0000000000000 }.f,
2866     F64Transmute { u: 0x78D0000000000000 }.f,
2867     F64Transmute { u: 0x78E0000000000000 }.f,
2868     F64Transmute { u: 0x78F0000000000000 }.f,
2869     F64Transmute { u: 0x7900000000000000 }.f,
2870     F64Transmute { u: 0x7910000000000000 }.f,
2871     F64Transmute { u: 0x7920000000000000 }.f,
2872     F64Transmute { u: 0x7930000000000000 }.f,
2873     F64Transmute { u: 0x7940000000000000 }.f,
2874     F64Transmute { u: 0x7950000000000000 }.f,
2875     F64Transmute { u: 0x7960000000000000 }.f,
2876     F64Transmute { u: 0x7970000000000000 }.f,
2877     F64Transmute { u: 0x7980000000000000 }.f,
2878     F64Transmute { u: 0x7990000000000000 }.f,
2879     F64Transmute { u: 0x79A0000000000000 }.f,
2880     F64Transmute { u: 0x79B0000000000000 }.f,
2881     F64Transmute { u: 0x79C0000000000000 }.f,
2882     F64Transmute { u: 0x79D0000000000000 }.f,
2883     F64Transmute { u: 0x79E0000000000000 }.f,
2884     F64Transmute { u: 0x79F0000000000000 }.f,
2885     F64Transmute { u: 0x7A00000000000000 }.f,
2886     F64Transmute { u: 0x7A10000000000000 }.f,
2887     F64Transmute { u: 0x7A20000000000000 }.f,
2888     F64Transmute { u: 0x7A30000000000000 }.f,
2889     F64Transmute { u: 0x7A40000000000000 }.f,
2890     F64Transmute { u: 0x7A50000000000000 }.f,
2891     F64Transmute { u: 0x7A60000000000000 }.f,
2892     F64Transmute { u: 0x7A70000000000000 }.f,
2893     F64Transmute { u: 0x7A80000000000000 }.f,
2894     F64Transmute { u: 0x7A90000000000000 }.f,
2895     F64Transmute { u: 0x7AA0000000000000 }.f,
2896     F64Transmute { u: 0x7AB0000000000000 }.f,
2897     F64Transmute { u: 0x7AC0000000000000 }.f,
2898     F64Transmute { u: 0x7AD0000000000000 }.f,
2899     F64Transmute { u: 0x7AE0000000000000 }.f,
2900     F64Transmute { u: 0x7AF0000000000000 }.f,
2901     F64Transmute { u: 0x7B00000000000000 }.f,
2902     F64Transmute { u: 0x7B10000000000000 }.f,
2903     F64Transmute { u: 0x7B20000000000000 }.f,
2904     F64Transmute { u: 0x7B30000000000000 }.f,
2905     F64Transmute { u: 0x7B40000000000000 }.f,
2906     F64Transmute { u: 0x7B50000000000000 }.f,
2907     F64Transmute { u: 0x7B60000000000000 }.f,
2908     F64Transmute { u: 0x7B70000000000000 }.f,
2909     F64Transmute { u: 0x7B80000000000000 }.f,
2910     F64Transmute { u: 0x7B90000000000000 }.f,
2911     F64Transmute { u: 0x7BA0000000000000 }.f,
2912     F64Transmute { u: 0x7BB0000000000000 }.f,
2913     F64Transmute { u: 0x7BC0000000000000 }.f,
2914     F64Transmute { u: 0x7BD0000000000000 }.f,
2915     F64Transmute { u: 0x7BE0000000000000 }.f,
2916     F64Transmute { u: 0x7BF0000000000000 }.f,
2917     F64Transmute { u: 0x7C00000000000000 }.f,
2918     F64Transmute { u: 0x7C10000000000000 }.f,
2919     F64Transmute { u: 0x7C20000000000000 }.f,
2920     F64Transmute { u: 0x7C30000000000000 }.f,
2921     F64Transmute { u: 0x7C40000000000000 }.f,
2922     F64Transmute { u: 0x7C50000000000000 }.f,
2923     F64Transmute { u: 0x7C60000000000000 }.f,
2924     F64Transmute { u: 0x7C70000000000000 }.f,
2925     F64Transmute { u: 0x7C80000000000000 }.f,
2926     F64Transmute { u: 0x7C90000000000000 }.f,
2927     F64Transmute { u: 0x7CA0000000000000 }.f,
2928     F64Transmute { u: 0x7CB0000000000000 }.f,
2929     F64Transmute { u: 0x7CC0000000000000 }.f,
2930     F64Transmute { u: 0x7CD0000000000000 }.f,
2931     F64Transmute { u: 0x7CE0000000000000 }.f,
2932     F64Transmute { u: 0x7CF0000000000000 }.f,
2933     F64Transmute { u: 0x7D00000000000000 }.f,
2934     F64Transmute { u: 0x7D10000000000000 }.f,
2935     F64Transmute { u: 0x7D20000000000000 }.f,
2936     F64Transmute { u: 0x7D30000000000000 }.f,
2937     F64Transmute { u: 0x7D40000000000000 }.f,
2938     F64Transmute { u: 0x7D50000000000000 }.f,
2939     F64Transmute { u: 0x7D60000000000000 }.f,
2940     F64Transmute { u: 0x7D70000000000000 }.f,
2941     F64Transmute { u: 0x7D80000000000000 }.f,
2942     F64Transmute { u: 0x7D90000000000000 }.f,
2943     F64Transmute { u: 0x7DA0000000000000 }.f,
2944     F64Transmute { u: 0x7DB0000000000000 }.f,
2945     F64Transmute { u: 0x7DC0000000000000 }.f,
2946     F64Transmute { u: 0x7DD0000000000000 }.f,
2947     F64Transmute { u: 0x7DE0000000000000 }.f,
2948     F64Transmute { u: 0x7DF0000000000000 }.f,
2949     F64Transmute { u: 0x7E00000000000000 }.f,
2950     F64Transmute { u: 0x7E10000000000000 }.f,
2951     F64Transmute { u: 0x7E20000000000000 }.f,
2952     F64Transmute { u: 0x7E30000000000000 }.f,
2953     F64Transmute { u: 0x7E40000000000000 }.f,
2954     F64Transmute { u: 0x7E50000000000000 }.f,
2955     F64Transmute { u: 0x7E60000000000000 }.f,
2956     F64Transmute { u: 0x7E70000000000000 }.f,
2957     F64Transmute { u: 0x7E80000000000000 }.f,
2958     F64Transmute { u: 0x7E90000000000000 }.f,
2959     F64Transmute { u: 0x7EA0000000000000 }.f,
2960     F64Transmute { u: 0x7EB0000000000000 }.f,
2961     F64Transmute { u: 0x7EC0000000000000 }.f,
2962     F64Transmute { u: 0x7ED0000000000000 }.f,
2963     F64Transmute { u: 0x7EE0000000000000 }.f,
2964     F64Transmute { u: 0x7EF0000000000000 }.f,
2965     F64Transmute { u: 0x7F00000000000000 }.f,
2966     F64Transmute { u: 0x7F10000000000000 }.f,
2967     F64Transmute { u: 0x7F20000000000000 }.f,
2968     F64Transmute { u: 0x7F30000000000000 }.f,
2969     F64Transmute { u: 0x7F40000000000000 }.f,
2970     F64Transmute { u: 0x7F50000000000000 }.f,
2971     F64Transmute { u: 0x7F60000000000000 }.f,
2972     F64Transmute { u: 0x7F70000000000000 }.f,
2973     F64Transmute { u: 0x7F80000000000000 }.f,
2974     F64Transmute { u: 0x7F90000000000000 }.f,
2975     F64Transmute { u: 0x7FA0000000000000 }.f,
2976     F64Transmute { u: 0x7FB0000000000000 }.f,
2977     F64Transmute { u: 0x7FC0000000000000 }.f,
2978     F64Transmute { u: 0x7FD0000000000000 }.f,
2979     F64Transmute { u: 0x7FE0000000000000 }.f,
2980 ]};
2981 
2982 /// Precalculated values of radix**i for i in range [0, arr.len()-1].
2983 /// Each value can be **exactly** represented as that type.
2984 const F64_POW10: [f64; 23] = [1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, 10000000.0, 100000000.0, 1000000000.0, 10000000000.0, 100000000000.0, 1000000000000.0, 10000000000000.0, 100000000000000.0, 1000000000000000.0, 10000000000000000.0, 100000000000000000.0, 1000000000000000000.0, 10000000000000000000.0, 100000000000000000000.0, 1000000000000000000000.0, 10000000000000000000000.0];
2985 
2986 #[cfg(feature = "radix")]
2987 const F64_POW3: [f64; 34] = [1.0, 3.0, 9.0, 27.0, 81.0, 243.0, 729.0, 2187.0, 6561.0, 19683.0, 59049.0, 177147.0, 531441.0, 1594323.0, 4782969.0, 14348907.0, 43046721.0, 129140163.0, 387420489.0, 1162261467.0, 3486784401.0, 10460353203.0, 31381059609.0, 94143178827.0, 282429536481.0, 847288609443.0, 2541865828329.0, 7625597484987.0, 22876792454961.0, 68630377364883.0, 205891132094649.0, 617673396283947.0, 1853020188851841.0, 5559060566555523.0];
2988 
2989 #[cfg(feature = "radix")]
2990 const F64_POW5: [f64; 23] = [1.0, 5.0, 25.0, 125.0, 625.0, 3125.0, 15625.0, 78125.0, 390625.0, 1953125.0, 9765625.0, 48828125.0, 244140625.0, 1220703125.0, 6103515625.0, 30517578125.0, 152587890625.0, 762939453125.0, 3814697265625.0, 19073486328125.0, 95367431640625.0, 476837158203125.0, 2384185791015625.0];
2991 
2992 #[cfg(feature = "radix")]
2993 const F64_POW6: [f64; 34] = [1.0, 6.0, 36.0, 216.0, 1296.0, 7776.0, 46656.0, 279936.0, 1679616.0, 10077696.0, 60466176.0, 362797056.0, 2176782336.0, 13060694016.0, 78364164096.0, 470184984576.0, 2821109907456.0, 16926659444736.0, 101559956668416.0, 609359740010496.0, 3656158440062976.0, 21936950640377856.0, 131621703842267136.0, 789730223053602816.0, 4738381338321616896.0, 28430288029929701376.0, 170581728179578208256.0, 1023490369077469249536.0, 6140942214464815497216.0, 36845653286788892983296.0, 221073919720733357899776.0, 1326443518324400147398656.0, 7958661109946400884391936.0, 47751966659678405306351616.0];
2994 
2995 #[cfg(feature = "radix")]
2996 const F64_POW7: [f64; 19] = [1.0, 7.0, 49.0, 343.0, 2401.0, 16807.0, 117649.0, 823543.0, 5764801.0, 40353607.0, 282475249.0, 1977326743.0, 13841287201.0, 96889010407.0, 678223072849.0, 4747561509943.0, 33232930569601.0, 232630513987207.0, 1628413597910449.0];
2997 
2998 #[cfg(feature = "radix")]
2999 const F64_POW9: [f64; 17] = [1.0, 9.0, 81.0, 729.0, 6561.0, 59049.0, 531441.0, 4782969.0, 43046721.0, 387420489.0, 3486784401.0, 31381059609.0, 282429536481.0, 2541865828329.0, 22876792454961.0, 205891132094649.0, 1853020188851841.0];
3000 
3001 #[cfg(feature = "radix")]
3002 const F64_POW11: [f64; 16] = [1.0, 11.0, 121.0, 1331.0, 14641.0, 161051.0, 1771561.0, 19487171.0, 214358881.0, 2357947691.0, 25937424601.0, 285311670611.0, 3138428376721.0, 34522712143931.0, 379749833583241.0, 4177248169415651.0];
3003 
3004 #[cfg(feature = "radix")]
3005 const F64_POW12: [f64; 34] = [1.0, 12.0, 144.0, 1728.0, 20736.0, 248832.0, 2985984.0, 35831808.0, 429981696.0, 5159780352.0, 61917364224.0, 743008370688.0, 8916100448256.0, 106993205379072.0, 1283918464548864.0, 15407021574586368.0, 184884258895036416.0, 2218611106740436992.0, 26623333280885243904.0, 319479999370622926848.0, 3833759992447475122176.0, 46005119909369701466112.0, 552061438912436417593344.0, 6624737266949237011120128.0, 79496847203390844133441536.0, 953962166440690129601298432.0, 11447545997288281555215581184.0, 137370551967459378662586974208.0, 1648446623609512543951043690496.0, 19781359483314150527412524285952.0, 237376313799769806328950291431424.0, 2848515765597237675947403497177088.0, 34182189187166852111368841966125056.0, 410186270246002225336426103593500672.0];
3006 
3007 #[cfg(feature = "radix")]
3008 const F64_POW13: [f64; 15] = [1.0, 13.0, 169.0, 2197.0, 28561.0, 371293.0, 4826809.0, 62748517.0, 815730721.0, 10604499373.0, 137858491849.0, 1792160394037.0, 23298085122481.0, 302875106592253.0, 3937376385699289.0];
3009 
3010 #[cfg(feature = "radix")]
3011 const F64_POW14: [f64; 19] = [1.0, 14.0, 196.0, 2744.0, 38416.0, 537824.0, 7529536.0, 105413504.0, 1475789056.0, 20661046784.0, 289254654976.0, 4049565169664.0, 56693912375296.0, 793714773254144.0, 11112006825558016.0, 155568095557812224.0, 2177953337809371136.0, 30491346729331195904.0, 426878854210636742656.0];
3012 
3013 #[cfg(feature = "radix")]
3014 const F64_POW15: [f64; 14] = [1.0, 15.0, 225.0, 3375.0, 50625.0, 759375.0, 11390625.0, 170859375.0, 2562890625.0, 38443359375.0, 576650390625.0, 8649755859375.0, 129746337890625.0, 1946195068359375.0];
3015 
3016 #[cfg(feature = "radix")]
3017 const F64_POW17: [f64; 13] = [1.0, 17.0, 289.0, 4913.0, 83521.0, 1419857.0, 24137569.0, 410338673.0, 6975757441.0, 118587876497.0, 2015993900449.0, 34271896307633.0, 582622237229761.0];
3018 
3019 #[cfg(feature = "radix")]
3020 const F64_POW18: [f64; 17] = [1.0, 18.0, 324.0, 5832.0, 104976.0, 1889568.0, 34012224.0, 612220032.0, 11019960576.0, 198359290368.0, 3570467226624.0, 64268410079232.0, 1156831381426176.0, 20822964865671168.0, 374813367582081024.0, 6746640616477458432.0, 121439531096594251776.0];
3021 
3022 #[cfg(feature = "radix")]
3023 const F64_POW19: [f64; 13] = [1.0, 19.0, 361.0, 6859.0, 130321.0, 2476099.0, 47045881.0, 893871739.0, 16983563041.0, 322687697779.0, 6131066257801.0, 116490258898219.0, 2213314919066161.0];
3024 
3025 #[cfg(feature = "radix")]
3026 const F64_POW20: [f64; 23] = [1.0, 20.0, 400.0, 8000.0, 160000.0, 3200000.0, 64000000.0, 1280000000.0, 25600000000.0, 512000000000.0, 10240000000000.0, 204800000000000.0, 4096000000000000.0, 81920000000000000.0, 1638400000000000000.0, 32768000000000000000.0, 655360000000000000000.0, 13107200000000000000000.0, 262144000000000000000000.0, 5242880000000000000000000.0, 104857600000000000000000000.0, 2097152000000000000000000000.0, 41943040000000000000000000000.0];
3027 
3028 #[cfg(feature = "radix")]
3029 const F64_POW21: [f64; 13] = [1.0, 21.0, 441.0, 9261.0, 194481.0, 4084101.0, 85766121.0, 1801088541.0, 37822859361.0, 794280046581.0, 16679880978201.0, 350277500542221.0, 7355827511386641.0];
3030 
3031 #[cfg(feature = "radix")]
3032 const F64_POW22: [f64; 16] = [1.0, 22.0, 484.0, 10648.0, 234256.0, 5153632.0, 113379904.0, 2494357888.0, 54875873536.0, 1207269217792.0, 26559922791424.0, 584318301411328.0, 12855002631049216.0, 282810057883082752.0, 6221821273427820544.0, 136880068015412051968.0];
3033 
3034 #[cfg(feature = "radix")]
3035 const F64_POW23: [f64; 12] = [1.0, 23.0, 529.0, 12167.0, 279841.0, 6436343.0, 148035889.0, 3404825447.0, 78310985281.0, 1801152661463.0, 41426511213649.0, 952809757913927.0];
3036 
3037 #[cfg(feature = "radix")]
3038 const F64_POW24: [f64; 34] = [1.0, 24.0, 576.0, 13824.0, 331776.0, 7962624.0, 191102976.0, 4586471424.0, 110075314176.0, 2641807540224.0, 63403380965376.0, 1521681143169024.0, 36520347436056576.0, 876488338465357824.0, 21035720123168587776.0, 504857282956046106624.0, 12116574790945106558976.0, 290797794982682557415424.0, 6979147079584381377970176.0, 167499529910025153071284224.0, 4019988717840603673710821376.0, 96479729228174488169059713024.0, 2315513501476187716057433112576.0, 55572324035428505185378394701824.0, 1333735776850284124449081472843776.0, 32009658644406818986777955348250624.0, 768231807465763655682670928358014976.0, 18437563379178327736384102280592359424.0, 442501521100279865673218454734216626176.0, 10620036506406716776157242913621199028224.0, 254880876153761202627773829926908776677376.0, 6117141027690268863066571918245810640257024.0, 146811384664566452713597726037899455366168576.0, 3523473231949594865126345424909586928788045824.0];
3039 
3040 #[cfg(feature = "radix")]
3041 const F64_POW25: [f64; 12] = [1.0, 25.0, 625.0, 15625.0, 390625.0, 9765625.0, 244140625.0, 6103515625.0, 152587890625.0, 3814697265625.0, 95367431640625.0, 2384185791015625.0];
3042 
3043 #[cfg(feature = "radix")]
3044 const F64_POW26: [f64; 15] = [1.0, 26.0, 676.0, 17576.0, 456976.0, 11881376.0, 308915776.0, 8031810176.0, 208827064576.0, 5429503678976.0, 141167095653376.0, 3670344486987776.0, 95428956661682176.0, 2481152873203736576.0, 64509974703297150976.0];
3045 
3046 #[cfg(feature = "radix")]
3047 const F64_POW27: [f64; 12] = [1.0, 27.0, 729.0, 19683.0, 531441.0, 14348907.0, 387420489.0, 10460353203.0, 282429536481.0, 7625597484987.0, 205891132094649.0, 5559060566555523.0];
3048 
3049 #[cfg(feature = "radix")]
3050 const F64_POW28: [f64; 19] = [1.0, 28.0, 784.0, 21952.0, 614656.0, 17210368.0, 481890304.0, 13492928512.0, 377801998336.0, 10578455953408.0, 296196766695424.0, 8293509467471872.0, 232218265089212416.0, 6502111422497947648.0, 182059119829942534144.0, 5097655355238390956032.0, 142734349946674946768896.0, 3996561798506898509529088.0, 111903730358193158266814464.0];
3051 
3052 #[cfg(feature = "radix")]
3053 const F64_POW29: [f64; 11] = [1.0, 29.0, 841.0, 24389.0, 707281.0, 20511149.0, 594823321.0, 17249876309.0, 500246412961.0, 14507145975869.0, 420707233300201.0];
3054 
3055 #[cfg(feature = "radix")]
3056 const F64_POW30: [f64; 14] = [1.0, 30.0, 900.0, 27000.0, 810000.0, 24300000.0, 729000000.0, 21870000000.0, 656100000000.0, 19683000000000.0, 590490000000000.0, 17714700000000000.0, 531441000000000000.0, 15943230000000000000.0];
3057 
3058 #[cfg(feature = "radix")]
3059 const F64_POW31: [f64; 11] = [1.0, 31.0, 961.0, 29791.0, 923521.0, 28629151.0, 887503681.0, 27512614111.0, 852891037441.0, 26439622160671.0, 819628286980801.0];
3060 
3061 #[cfg(feature = "radix")]
3062 const F64_POW33: [f64; 11] = [1.0, 33.0, 1089.0, 35937.0, 1185921.0, 39135393.0, 1291467969.0, 42618442977.0, 1406408618241.0, 46411484401953.0, 1531578985264449.0];
3063 
3064 #[cfg(feature = "radix")]
3065 const F64_POW34: [f64; 13] = [1.0, 34.0, 1156.0, 39304.0, 1336336.0, 45435424.0, 1544804416.0, 52523350144.0, 1785793904896.0, 60716992766464.0, 2064377754059776.0, 70188843638032384.0, 2386420683693101056.0];
3066 
3067 #[cfg(feature = "radix")]
3068 const F64_POW35: [f64; 11] = [1.0, 35.0, 1225.0, 42875.0, 1500625.0, 52521875.0, 1838265625.0, 64339296875.0, 2251875390625.0, 78815638671875.0, 2758547353515625.0];
3069 
3070 #[cfg(feature = "radix")]
3071 const F64_POW36: [f64; 17] = [1.0, 36.0, 1296.0, 46656.0, 1679616.0, 60466176.0, 2176782336.0, 78364164096.0, 2821109907456.0, 101559956668416.0, 3656158440062976.0, 131621703842267136.0, 4738381338321616896.0, 170581728179578208256.0, 6140942214464815497216.0, 221073919720733357899776.0, 7958661109946400884391936.0];
3072 
3073 // Compile-time guarantees for our tables.
3074 const_assert!(F64_POW10[1] / F64_POW10[0] == 10.0);
3075 
3076 #[cfg(feature = "radix")]
3077 const_assert!(F64_POW2[1] / F64_POW2[0] == 2.0);
3078 
3079 #[cfg(feature = "radix")]
3080 const_assert!(F64_POW3[1] / F64_POW3[0] == 3.0);
3081 
3082 #[cfg(feature = "radix")]
3083 const_assert!(F64_POW5[1] / F64_POW5[0] == 5.0);
3084 
3085 #[cfg(feature = "radix")]
3086 const_assert!(F64_POW6[1] / F64_POW6[0] == 6.0);
3087 
3088 #[cfg(feature = "radix")]
3089 const_assert!(F64_POW7[1] / F64_POW7[0] == 7.0);
3090 
3091 #[cfg(feature = "radix")]
3092 const_assert!(F64_POW9[1] / F64_POW9[0] == 9.0);
3093 
3094 #[cfg(feature = "radix")]
3095 const_assert!(F64_POW11[1] / F64_POW11[0] == 11.0);
3096 
3097 #[cfg(feature = "radix")]
3098 const_assert!(F64_POW12[1] / F64_POW12[0] == 12.0);
3099 
3100 #[cfg(feature = "radix")]
3101 const_assert!(F64_POW13[1] / F64_POW13[0] == 13.0);
3102 
3103 #[cfg(feature = "radix")]
3104 const_assert!(F64_POW14[1] / F64_POW14[0] == 14.0);
3105 
3106 #[cfg(feature = "radix")]
3107 const_assert!(F64_POW15[1] / F64_POW15[0] == 15.0);
3108 
3109 #[cfg(feature = "radix")]
3110 const_assert!(F64_POW17[1] / F64_POW17[0] == 17.0);
3111 
3112 #[cfg(feature = "radix")]
3113 const_assert!(F64_POW18[1] / F64_POW18[0] == 18.0);
3114 
3115 #[cfg(feature = "radix")]
3116 const_assert!(F64_POW19[1] / F64_POW19[0] == 19.0);
3117 
3118 #[cfg(feature = "radix")]
3119 const_assert!(F64_POW20[1] / F64_POW20[0] == 20.0);
3120 
3121 #[cfg(feature = "radix")]
3122 const_assert!(F64_POW21[1] / F64_POW21[0] == 21.0);
3123 
3124 #[cfg(feature = "radix")]
3125 const_assert!(F64_POW22[1] / F64_POW22[0] == 22.0);
3126 
3127 #[cfg(feature = "radix")]
3128 const_assert!(F64_POW23[1] / F64_POW23[0] == 23.0);
3129 
3130 #[cfg(feature = "radix")]
3131 const_assert!(F64_POW24[1] / F64_POW24[0] == 24.0);
3132 
3133 #[cfg(feature = "radix")]
3134 const_assert!(F64_POW25[1] / F64_POW25[0] == 25.0);
3135 
3136 #[cfg(feature = "radix")]
3137 const_assert!(F64_POW26[1] / F64_POW26[0] == 26.0);
3138 
3139 #[cfg(feature = "radix")]
3140 const_assert!(F64_POW27[1] / F64_POW27[0] == 27.0);
3141 
3142 #[cfg(feature = "radix")]
3143 const_assert!(F64_POW28[1] / F64_POW28[0] == 28.0);
3144 
3145 #[cfg(feature = "radix")]
3146 const_assert!(F64_POW29[1] / F64_POW29[0] == 29.0);
3147 
3148 #[cfg(feature = "radix")]
3149 const_assert!(F64_POW30[1] / F64_POW30[0] == 30.0);
3150 
3151 #[cfg(feature = "radix")]
3152 const_assert!(F64_POW31[1] / F64_POW31[0] == 31.0);
3153 
3154 #[cfg(feature = "radix")]
3155 const_assert!(F64_POW33[1] / F64_POW33[0] == 33.0);
3156 
3157 #[cfg(feature = "radix")]
3158 const_assert!(F64_POW34[1] / F64_POW34[0] == 34.0);
3159 
3160 #[cfg(feature = "radix")]
3161 const_assert!(F64_POW35[1] / F64_POW35[0] == 35.0);
3162 
3163 #[cfg(feature = "radix")]
3164 const_assert!(F64_POW36[1] / F64_POW36[0] == 36.0);
3165 
3166 impl TablePower for f64 {
3167     const POW2_EXPONENT_BIAS: i32 = 1074;
3168 
3169     #[cfg(feature = "radix")]
3170     #[inline]
3171     fn table_pow2(exponent: i32) -> f64 {
3172         debug_assert!(exponent + Self::POW2_EXPONENT_BIAS >= 0, "table_pow2() have negative exponent.");
3173         F64_POW2[(exponent + Self::POW2_EXPONENT_BIAS).as_usize()]
3174     }
3175 
3176     #[inline]
3177     fn table_pow<T: Integer>(radix: T, exponent: i32) -> f64 {
3178         debug_assert!(exponent >= 0, "table_pow() have negative exponent.");
3179         debug_assert_radix!(radix);
3180         let exponent = exponent as usize;
3181 
3182         #[cfg(not(feature = "radix"))] {
3183             F64_POW10[exponent]
3184         }
3185 
3186         #[cfg(feature = "radix")] {
3187             match radix.as_i32() {
3188                 3  => F64_POW3 [exponent],
3189                 5  => F64_POW5 [exponent],
3190                 6  => F64_POW6 [exponent],
3191                 7  => F64_POW7 [exponent],
3192                 9  => F64_POW9 [exponent],
3193                 10 => F64_POW10[exponent],
3194                 11 => F64_POW11[exponent],
3195                 12 => F64_POW12[exponent],
3196                 13 => F64_POW13[exponent],
3197                 14 => F64_POW14[exponent],
3198                 15 => F64_POW15[exponent],
3199                 17 => F64_POW17[exponent],
3200                 18 => F64_POW18[exponent],
3201                 19 => F64_POW19[exponent],
3202                 20 => F64_POW20[exponent],
3203                 21 => F64_POW21[exponent],
3204                 22 => F64_POW22[exponent],
3205                 23 => F64_POW23[exponent],
3206                 24 => F64_POW24[exponent],
3207                 25 => F64_POW25[exponent],
3208                 26 => F64_POW26[exponent],
3209                 27 => F64_POW27[exponent],
3210                 28 => F64_POW28[exponent],
3211                 29 => F64_POW29[exponent],
3212                 30 => F64_POW30[exponent],
3213                 31 => F64_POW31[exponent],
3214                 33 => F64_POW33[exponent],
3215                 34 => F64_POW34[exponent],
3216                 35 => F64_POW35[exponent],
3217                 36 => F64_POW36[exponent],
3218                 // Invalid radix
3219                 _  => unreachable!(),
3220             }
3221         }
3222     }
3223 }
3224 
3225 }}   // cfg_if
3226