use super::hall_symbol_database::HallNumber;
use super::magnetic_space_group::{
    get_magnetic_space_group_type, ConstructType, UNINumber, NUM_MAGNETIC_SPACE_GROUP_TYPES,
};
use super::setting::Setting;

#[derive(Debug, Clone)]
pub struct MagneticHallSymbolEntry {
    pub magnetic_hall_symbol: &'static str,
    pub uni_number: UNINumber,
}

impl MagneticHallSymbolEntry {
    const fn new(magnetic_hall_symbol: &'static str, uni_number: UNINumber) -> Self {
        Self {
            magnetic_hall_symbol,
            uni_number,
        }
    }

    pub fn construct_type(&self) -> ConstructType {
        get_magnetic_space_group_type(self.uni_number)
            .unwrap()
            .construct_type
    }

    pub fn reference_hall_number(&self) -> HallNumber {
        let number = get_magnetic_space_group_type(self.uni_number)
            .unwrap()
            .number;
        Setting::Standard.hall_number(number).unwrap()
    }
}

pub fn magnetic_hall_symbol_entry(uni_number: UNINumber) -> Option<MagneticHallSymbolEntry> {
    MAGNETIC_HALL_SYMBOL_DATABASE
        .get((uni_number - 1) as usize)
        .cloned()
}

// For type-IV MSG, we assume their Magnetic Hall symbol explicitly contains the anti-translation operation.
const MAGNETIC_HALL_SYMBOL_DATABASE: [MagneticHallSymbolEntry; NUM_MAGNETIC_SPACE_GROUP_TYPES] = [
    MagneticHallSymbolEntry::new("P 1", 1),
    MagneticHallSymbolEntry::new("P 1 1'", 2),
    MagneticHallSymbolEntry::new("P 1 1c'", 3),
    MagneticHallSymbolEntry::new("-P 1", 4),
    MagneticHallSymbolEntry::new("-P 1 1'", 5),
    MagneticHallSymbolEntry::new("P -1'", 6),
    MagneticHallSymbolEntry::new("-P 1 1c'", 7),
    MagneticHallSymbolEntry::new("P 2y", 8),
    MagneticHallSymbolEntry::new("P 2y 1'", 9),
    MagneticHallSymbolEntry::new("P 2y'", 10),
    MagneticHallSymbolEntry::new("P 2y 1a'", 11),
    MagneticHallSymbolEntry::new("P 2y 1b'", 12),
    MagneticHallSymbolEntry::new("P 2y 1ab'", 13),
    MagneticHallSymbolEntry::new("P 2yb", 14),
    MagneticHallSymbolEntry::new("P 2yb 1'", 15),
    MagneticHallSymbolEntry::new("P 2yb'", 16),
    MagneticHallSymbolEntry::new("P 2yb 1a'", 17),
    MagneticHallSymbolEntry::new("P 2yb 1b'", 18),
    MagneticHallSymbolEntry::new("P 2yb 1ab'", 19),
    MagneticHallSymbolEntry::new("C 2y", 20),
    MagneticHallSymbolEntry::new("C 2y 1'", 21),
    MagneticHallSymbolEntry::new("C 2y'", 22),
    MagneticHallSymbolEntry::new("C 2y 1c'", 23),
    MagneticHallSymbolEntry::new("C 2y 1a'", 24),
    MagneticHallSymbolEntry::new("P -2y", 25),
    MagneticHallSymbolEntry::new("P -2y 1'", 26),
    MagneticHallSymbolEntry::new("P -2y'", 27),
    MagneticHallSymbolEntry::new("P -2y 1a'", 28),
    MagneticHallSymbolEntry::new("P -2y 1b'", 29),
    MagneticHallSymbolEntry::new("P -2y 1ab'", 30),
    MagneticHallSymbolEntry::new("P -2yc", 31),
    MagneticHallSymbolEntry::new("P -2yc 1'", 32),
    MagneticHallSymbolEntry::new("P -2yc'", 33),
    MagneticHallSymbolEntry::new("P -2yc 1a'", 34),
    MagneticHallSymbolEntry::new("P -2yc 1c'", 35),
    MagneticHallSymbolEntry::new("P -2yc 1b'", 36),
    MagneticHallSymbolEntry::new("P -2yc 1ab'", 37),
    MagneticHallSymbolEntry::new("P -2yc 1bc'", 38),
    MagneticHallSymbolEntry::new("C -2y", 39),
    MagneticHallSymbolEntry::new("C -2y 1'", 40),
    MagneticHallSymbolEntry::new("C -2y'", 41),
    MagneticHallSymbolEntry::new("C -2y 1c'", 42),
    MagneticHallSymbolEntry::new("C -2y 1a'", 43),
    MagneticHallSymbolEntry::new("C -2yc", 44),
    MagneticHallSymbolEntry::new("C -2yc 1'", 45),
    MagneticHallSymbolEntry::new("C -2yc'", 46),
    MagneticHallSymbolEntry::new("C -2yc 1c'", 47),
    MagneticHallSymbolEntry::new("C -2yc 1a'", 48),
    MagneticHallSymbolEntry::new("-P 2y", 49),
    MagneticHallSymbolEntry::new("-P 2y 1'", 50),
    MagneticHallSymbolEntry::new("P 2y' -1'", 51),
    MagneticHallSymbolEntry::new("P 2y -1'", 52),
    MagneticHallSymbolEntry::new("-P 2y'", 53),
    MagneticHallSymbolEntry::new("-P 2y 1a'", 54),
    MagneticHallSymbolEntry::new("-P 2y 1b'", 55),
    MagneticHallSymbolEntry::new("-P 2y 1ab'", 56),
    MagneticHallSymbolEntry::new("-P 2yb", 57),
    MagneticHallSymbolEntry::new("-P 2yb 1'", 58),
    MagneticHallSymbolEntry::new("P 2yb' -1'", 59),
    MagneticHallSymbolEntry::new("P 2yb -1'", 60),
    MagneticHallSymbolEntry::new("-P 2yb'", 61),
    MagneticHallSymbolEntry::new("-P 2yb 1a'", 62),
    MagneticHallSymbolEntry::new("-P 2yb 1b'", 63),
    MagneticHallSymbolEntry::new("-P 2yb 1ab'", 64),
    MagneticHallSymbolEntry::new("-C 2y", 65),
    MagneticHallSymbolEntry::new("-C 2y 1'", 66),
    MagneticHallSymbolEntry::new("C 2y' -1'", 67),
    MagneticHallSymbolEntry::new("C 2y -1'", 68),
    MagneticHallSymbolEntry::new("-C 2y'", 69),
    MagneticHallSymbolEntry::new("-C 2y 1c'", 70),
    MagneticHallSymbolEntry::new("-C 2y 1a'", 71),
    MagneticHallSymbolEntry::new("-P 2yc", 72),
    MagneticHallSymbolEntry::new("-P 2yc 1'", 73),
    MagneticHallSymbolEntry::new("P 2yc' -1'", 74),
    MagneticHallSymbolEntry::new("P 2yc -1'", 75),
    MagneticHallSymbolEntry::new("-P 2yc'", 76),
    MagneticHallSymbolEntry::new("-P 2yc 1a'", 77),
    MagneticHallSymbolEntry::new("-P 2yc 1b'", 78),
    MagneticHallSymbolEntry::new("-P 2yc 1c'", 79),
    MagneticHallSymbolEntry::new("-P 2yc 1bc'", 80),
    MagneticHallSymbolEntry::new("-P 2yc 1ab'", 81),
    MagneticHallSymbolEntry::new("-P 2ybc", 82),
    MagneticHallSymbolEntry::new("-P 2ybc 1'", 83),
    MagneticHallSymbolEntry::new("P 2ybc' -1'", 84),
    MagneticHallSymbolEntry::new("P 2ybc -1'", 85),
    MagneticHallSymbolEntry::new("-P 2ybc'", 86),
    MagneticHallSymbolEntry::new("-P 2ybc 1a'", 87),
    MagneticHallSymbolEntry::new("-P 2ybc 1b'", 88),
    MagneticHallSymbolEntry::new("-P 2ybc 1c'", 89),
    MagneticHallSymbolEntry::new("-P 2ybc 1bc'", 90),
    MagneticHallSymbolEntry::new("-P 2ybc 1ab'", 91),
    MagneticHallSymbolEntry::new("-C 2yc", 92),
    MagneticHallSymbolEntry::new("-C 2yc 1'", 93),
    MagneticHallSymbolEntry::new("C 2yc' -1'", 94),
    MagneticHallSymbolEntry::new("C 2yc -1'", 95),
    MagneticHallSymbolEntry::new("-C 2yc'", 96),
    MagneticHallSymbolEntry::new("-C 2yc 1c'", 97),
    MagneticHallSymbolEntry::new("-C 2yc 1a'", 98),
    MagneticHallSymbolEntry::new("P 2 2", 99),
    MagneticHallSymbolEntry::new("P 2 2 1'", 100),
    MagneticHallSymbolEntry::new("P 2' 2'", 101),
    MagneticHallSymbolEntry::new("P 2 2 1a'", 102),
    MagneticHallSymbolEntry::new("P 2 2 1ab'", 103),
    MagneticHallSymbolEntry::new("P 2 2 1abc'", 104),
    MagneticHallSymbolEntry::new("P 2c 2", 105),
    MagneticHallSymbolEntry::new("P 2c 2 1'", 106),
    MagneticHallSymbolEntry::new("P 2c 2'", 107),
    MagneticHallSymbolEntry::new("P 2c' 2", 108),
    MagneticHallSymbolEntry::new("P 2c 2 1a'", 109),
    MagneticHallSymbolEntry::new("P 2c 2 1c'", 110),
    MagneticHallSymbolEntry::new("P 2c 2 1ac'", 111),
    MagneticHallSymbolEntry::new("P 2c 2 1ab'", 112),
    MagneticHallSymbolEntry::new("P 2c 2 1abc'", 113),
    MagneticHallSymbolEntry::new("P 2 2ab", 114),
    MagneticHallSymbolEntry::new("P 2 2ab 1'", 115),
    MagneticHallSymbolEntry::new("P 2 2ab'", 116),
    MagneticHallSymbolEntry::new("P 2' 2ab", 117),
    MagneticHallSymbolEntry::new("P 2 2ab 1b'", 118),
    MagneticHallSymbolEntry::new("P 2 2ab 1c'", 119),
    MagneticHallSymbolEntry::new("P 2 2ab 1ac'", 120),
    MagneticHallSymbolEntry::new("P 2 2ab 1ab'", 121),
    MagneticHallSymbolEntry::new("P 2 2ab 1abc'", 122),
    MagneticHallSymbolEntry::new("P 2ac 2ab", 123),
    MagneticHallSymbolEntry::new("P 2ac 2ab 1'", 124),
    MagneticHallSymbolEntry::new("P 2ac 2ab'", 125),
    MagneticHallSymbolEntry::new("P 2ac 2ab 1c'", 126),
    MagneticHallSymbolEntry::new("P 2ac 2ab 1ab'", 127),
    MagneticHallSymbolEntry::new("P 2ac 2ab 1abc'", 128),
    MagneticHallSymbolEntry::new("C 2c 2", 129),
    MagneticHallSymbolEntry::new("C 2c 2 1'", 130),
    MagneticHallSymbolEntry::new("C 2c 2'", 131),
    MagneticHallSymbolEntry::new("C 2c' 2", 132),
    MagneticHallSymbolEntry::new("C 2c 2 1c'", 133),
    MagneticHallSymbolEntry::new("C 2c 2 1a'", 134),
    MagneticHallSymbolEntry::new("C 2c 2 1bc'", 135),
    MagneticHallSymbolEntry::new("C 2 2", 136),
    MagneticHallSymbolEntry::new("C 2 2 1'", 137),
    MagneticHallSymbolEntry::new("C 2 2'", 138),
    MagneticHallSymbolEntry::new("C 2' 2", 139),
    MagneticHallSymbolEntry::new("C 2 2 1c'", 140),
    MagneticHallSymbolEntry::new("C 2 2 1a'", 141),
    MagneticHallSymbolEntry::new("C 2 2 1bc'", 142),
    MagneticHallSymbolEntry::new("F 2 2", 143),
    MagneticHallSymbolEntry::new("F 2 2 1'", 144),
    MagneticHallSymbolEntry::new("F 2 2'", 145),
    MagneticHallSymbolEntry::new("F 2 2 1abc'", 146),
    MagneticHallSymbolEntry::new("I 2 2", 147),
    MagneticHallSymbolEntry::new("I 2 2 1'", 148),
    MagneticHallSymbolEntry::new("I 2 2'", 149),
    MagneticHallSymbolEntry::new("I 2 2 1c'", 150),
    MagneticHallSymbolEntry::new("I 2b 2c", 151),
    MagneticHallSymbolEntry::new("I 2b 2c 1'", 152),
    MagneticHallSymbolEntry::new("I 2b 2c'", 153),
    MagneticHallSymbolEntry::new("I 2b 2c 1c'", 154),
    MagneticHallSymbolEntry::new("P 2 -2", 155),
    MagneticHallSymbolEntry::new("P 2 -2 1'", 156),
    MagneticHallSymbolEntry::new("P 2' -2'", 157),
    MagneticHallSymbolEntry::new("P 2 -2'", 158),
    MagneticHallSymbolEntry::new("P 2 -2 1c'", 159),
    MagneticHallSymbolEntry::new("P 2 -2 1a'", 160),
    MagneticHallSymbolEntry::new("P 2 -2 1ab'", 161),
    MagneticHallSymbolEntry::new("P 2 -2 1bc'", 162),
    MagneticHallSymbolEntry::new("P 2 -2 1abc'", 163),
    MagneticHallSymbolEntry::new("P 2c -2", 164),
    MagneticHallSymbolEntry::new("P 2c -2 1'", 165),
    MagneticHallSymbolEntry::new("P 2c' -2'", 166),
    MagneticHallSymbolEntry::new("P 2c' -2", 167),
    MagneticHallSymbolEntry::new("P 2c -2'", 168),
    MagneticHallSymbolEntry::new("P 2c -2 1a'", 169),
    MagneticHallSymbolEntry::new("P 2c -2 1b'", 170),
    MagneticHallSymbolEntry::new("P 2c -2 1c'", 171),
    MagneticHallSymbolEntry::new("P 2c -2 1bc'", 172),
    MagneticHallSymbolEntry::new("P 2c -2 1ac'", 173),
    MagneticHallSymbolEntry::new("P 2c -2 1ab'", 174),
    MagneticHallSymbolEntry::new("P 2c -2 1abc'", 175),
    MagneticHallSymbolEntry::new("P 2 -2c", 176),
    MagneticHallSymbolEntry::new("P 2 -2c 1'", 177),
    MagneticHallSymbolEntry::new("P 2' -2c", 178),
    MagneticHallSymbolEntry::new("P 2 -2c'", 179),
    MagneticHallSymbolEntry::new("P 2 -2c 1c'", 180),
    MagneticHallSymbolEntry::new("P 2 -2c 1a'", 181),
    MagneticHallSymbolEntry::new("P 2 -2c 1ab'", 182),
    MagneticHallSymbolEntry::new("P 2 -2c 1bc'", 183),
    MagneticHallSymbolEntry::new("P 2 -2c 1abc'", 184),
    MagneticHallSymbolEntry::new("P 2 -2a", 185),
    MagneticHallSymbolEntry::new("P 2 -2a 1'", 186),
    MagneticHallSymbolEntry::new("P 2' -2a'", 187),
    MagneticHallSymbolEntry::new("P 2' -2a", 188),
    MagneticHallSymbolEntry::new("P 2 -2a'", 189),
    MagneticHallSymbolEntry::new("P 2 -2a 1a'", 190),
    MagneticHallSymbolEntry::new("P 2 -2a 1b'", 191),
    MagneticHallSymbolEntry::new("P 2 -2a 1c'", 192),
    MagneticHallSymbolEntry::new("P 2 -2a 1bc'", 193),
    MagneticHallSymbolEntry::new("P 2 -2a 1ac'", 194),
    MagneticHallSymbolEntry::new("P 2 -2a 1ab'", 195),
    MagneticHallSymbolEntry::new("P 2 -2a 1abc'", 196),
    MagneticHallSymbolEntry::new("P 2c -2ac", 197),
    MagneticHallSymbolEntry::new("P 2c -2ac 1'", 198),
    MagneticHallSymbolEntry::new("P 2c' -2ac'", 199),
    MagneticHallSymbolEntry::new("P 2c' -2ac", 200),
    MagneticHallSymbolEntry::new("P 2c -2ac'", 201),
    MagneticHallSymbolEntry::new("P 2c -2ac 1a'", 202),
    MagneticHallSymbolEntry::new("P 2c -2ac 1b'", 203),
    MagneticHallSymbolEntry::new("P 2c -2ac 1c'", 204),
    MagneticHallSymbolEntry::new("P 2c -2ac 1bc'", 205),
    MagneticHallSymbolEntry::new("P 2c -2ac 1ac'", 206),
    MagneticHallSymbolEntry::new("P 2c -2ac 1ab'", 207),
    MagneticHallSymbolEntry::new("P 2c -2ac 1abc'", 208),
    MagneticHallSymbolEntry::new("P 2 -2bc", 209),
    MagneticHallSymbolEntry::new("P 2 -2bc 1'", 210),
    MagneticHallSymbolEntry::new("P 2' -2bc'", 211),
    MagneticHallSymbolEntry::new("P 2' -2bc", 212),
    MagneticHallSymbolEntry::new("P 2 -2bc'", 213),
    MagneticHallSymbolEntry::new("P 2 -2bc 1a'", 214),
    MagneticHallSymbolEntry::new("P 2 -2bc 1b'", 215),
    MagneticHallSymbolEntry::new("P 2 -2bc 1c'", 216),
    MagneticHallSymbolEntry::new("P 2 -2bc 1bc'", 217),
    MagneticHallSymbolEntry::new("P 2 -2bc 1ac'", 218),
    MagneticHallSymbolEntry::new("P 2 -2bc 1ab'", 219),
    MagneticHallSymbolEntry::new("P 2 -2bc 1abc'", 220),
    MagneticHallSymbolEntry::new("P 2ac -2", 221),
    MagneticHallSymbolEntry::new("P 2ac -2 1'", 222),
    MagneticHallSymbolEntry::new("P 2ac' -2'", 223),
    MagneticHallSymbolEntry::new("P 2ac' -2", 224),
    MagneticHallSymbolEntry::new("P 2ac -2'", 225),
    MagneticHallSymbolEntry::new("P 2ac -2 1a'", 226),
    MagneticHallSymbolEntry::new("P 2ac -2 1b'", 227),
    MagneticHallSymbolEntry::new("P 2ac -2 1c'", 228),
    MagneticHallSymbolEntry::new("P 2ac -2 1bc'", 229),
    MagneticHallSymbolEntry::new("P 2ac -2 1ac'", 230),
    MagneticHallSymbolEntry::new("P 2ac -2 1ab'", 231),
    MagneticHallSymbolEntry::new("P 2ac -2 1abc'", 232),
    MagneticHallSymbolEntry::new("P 2 -2ab", 233),
    MagneticHallSymbolEntry::new("P 2 -2ab 1'", 234),
    MagneticHallSymbolEntry::new("P 2' -2ab", 235),
    MagneticHallSymbolEntry::new("P 2 -2ab'", 236),
    MagneticHallSymbolEntry::new("P 2 -2ab 1c'", 237),
    MagneticHallSymbolEntry::new("P 2 -2ab 1b'", 238),
    MagneticHallSymbolEntry::new("P 2 -2ab 1ab'", 239),
    MagneticHallSymbolEntry::new("P 2 -2ab 1bc'", 240),
    MagneticHallSymbolEntry::new("P 2 -2ab 1abc'", 241),
    MagneticHallSymbolEntry::new("P 2c -2n", 242),
    MagneticHallSymbolEntry::new("P 2c -2n 1'", 243),
    MagneticHallSymbolEntry::new("P 2c' -2n'", 244),
    MagneticHallSymbolEntry::new("P 2c' -2n", 245),
    MagneticHallSymbolEntry::new("P 2c -2n'", 246),
    MagneticHallSymbolEntry::new("P 2c -2n 1a'", 247),
    MagneticHallSymbolEntry::new("P 2c -2n 1b'", 248),
    MagneticHallSymbolEntry::new("P 2c -2n 1c'", 249),
    MagneticHallSymbolEntry::new("P 2c -2n 1bc'", 250),
    MagneticHallSymbolEntry::new("P 2c -2n 1ac'", 251),
    MagneticHallSymbolEntry::new("P 2c -2n 1ab'", 252),
    MagneticHallSymbolEntry::new("P 2c -2n 1abc'", 253),
    MagneticHallSymbolEntry::new("P 2 -2n", 254),
    MagneticHallSymbolEntry::new("P 2 -2n 1'", 255),
    MagneticHallSymbolEntry::new("P 2' -2n", 256),
    MagneticHallSymbolEntry::new("P 2 -2n'", 257),
    MagneticHallSymbolEntry::new("P 2 -2n 1a'", 258),
    MagneticHallSymbolEntry::new("P 2 -2n 1c'", 259),
    MagneticHallSymbolEntry::new("P 2 -2n 1bc'", 260),
    MagneticHallSymbolEntry::new("P 2 -2n 1ab'", 261),
    MagneticHallSymbolEntry::new("P 2 -2n 1abc'", 262),
    MagneticHallSymbolEntry::new("C 2 -2", 263),
    MagneticHallSymbolEntry::new("C 2 -2 1'", 264),
    MagneticHallSymbolEntry::new("C 2' -2", 265),
    MagneticHallSymbolEntry::new("C 2 -2'", 266),
    MagneticHallSymbolEntry::new("C 2 -2 1c'", 267),
    MagneticHallSymbolEntry::new("C 2 -2 1a'", 268),
    MagneticHallSymbolEntry::new("C 2 -2 1bc'", 269),
    MagneticHallSymbolEntry::new("C 2c -2", 270),
    MagneticHallSymbolEntry::new("C 2c -2 1'", 271),
    MagneticHallSymbolEntry::new("C 2c' -2'", 272),
    MagneticHallSymbolEntry::new("C 2c' -2", 273),
    MagneticHallSymbolEntry::new("C 2c -2'", 274),
    MagneticHallSymbolEntry::new("C 2c -2 1c'", 275),
    MagneticHallSymbolEntry::new("C 2c -2 1a'", 276),
    MagneticHallSymbolEntry::new("C 2c -2 1bc'", 277),
    MagneticHallSymbolEntry::new("C 2 -2c", 278),
    MagneticHallSymbolEntry::new("C 2 -2c 1'", 279),
    MagneticHallSymbolEntry::new("C 2' -2c", 280),
    MagneticHallSymbolEntry::new("C 2 -2c'", 281),
    MagneticHallSymbolEntry::new("C 2 -2c 1c'", 282), // Remove primal axis symbol
    MagneticHallSymbolEntry::new("C 2 -2c 1a'", 283), // Remove primal axis symbol
    MagneticHallSymbolEntry::new("C 2 -2c 1bc'", 284), // Remove primal axis symbol
    MagneticHallSymbolEntry::new("A 2 -2", 285),
    MagneticHallSymbolEntry::new("A 2 -2 1'", 286),
    MagneticHallSymbolEntry::new("A 2' -2'", 287),
    MagneticHallSymbolEntry::new("A 2' -2", 288),
    MagneticHallSymbolEntry::new("A 2 -2'", 289),
    MagneticHallSymbolEntry::new("A 2 -2 1a'", 290),
    MagneticHallSymbolEntry::new("A 2 -2 1b'", 291),
    MagneticHallSymbolEntry::new("A 2 -2 1ac'", 292),
    MagneticHallSymbolEntry::new("A 2 -2c", 293),
    MagneticHallSymbolEntry::new("A 2 -2c 1'", 294),
    MagneticHallSymbolEntry::new("A 2' -2c'", 295),
    MagneticHallSymbolEntry::new("A 2' -2c", 296),
    MagneticHallSymbolEntry::new("A 2 -2c'", 297),
    MagneticHallSymbolEntry::new("A 2 -2c 1a'", 298),
    MagneticHallSymbolEntry::new("A 2 -2c 1b'", 299),
    MagneticHallSymbolEntry::new("A 2 -2c 1ac'", 300),
    MagneticHallSymbolEntry::new("A 2 -2a", 301),
    MagneticHallSymbolEntry::new("A 2 -2a 1'", 302),
    MagneticHallSymbolEntry::new("A 2' -2a'", 303),
    MagneticHallSymbolEntry::new("A 2' -2a", 304),
    MagneticHallSymbolEntry::new("A 2 -2a'", 305),
    MagneticHallSymbolEntry::new("A 2 -2a 1a'", 306),
    MagneticHallSymbolEntry::new("A 2 -2a 1b'", 307),
    MagneticHallSymbolEntry::new("A 2 -2a 1ac'", 308),
    MagneticHallSymbolEntry::new("A 2 -2ac", 309),
    MagneticHallSymbolEntry::new("A 2 -2ac 1'", 310),
    MagneticHallSymbolEntry::new("A 2' -2ac'", 311),
    MagneticHallSymbolEntry::new("A 2' -2ac", 312),
    MagneticHallSymbolEntry::new("A 2 -2ac'", 313),
    MagneticHallSymbolEntry::new("A 2 -2ac 1a'", 314),
    MagneticHallSymbolEntry::new("A 2 -2ac 1b'", 315),
    MagneticHallSymbolEntry::new("A 2 -2ac 1ac'", 316),
    MagneticHallSymbolEntry::new("F 2 -2", 317),
    MagneticHallSymbolEntry::new("F 2 -2 1'", 318),
    MagneticHallSymbolEntry::new("F 2' -2", 319),
    MagneticHallSymbolEntry::new("F 2 -2'", 320),
    MagneticHallSymbolEntry::new("F 2 -2 1abc'", 321),
    MagneticHallSymbolEntry::new("F 2 -2d", 322),
    MagneticHallSymbolEntry::new("F 2 -2d 1'", 323),
    MagneticHallSymbolEntry::new("F 2' -2d", 324),
    MagneticHallSymbolEntry::new("F 2 -2d'", 325),
    MagneticHallSymbolEntry::new("F 2 -2d 1abc'", 326),
    MagneticHallSymbolEntry::new("I 2 -2", 327),
    MagneticHallSymbolEntry::new("I 2 -2 1'", 328),
    MagneticHallSymbolEntry::new("I 2' -2", 329),
    MagneticHallSymbolEntry::new("I 2 -2'", 330),
    MagneticHallSymbolEntry::new("I 2 -2 1c'", 331),
    MagneticHallSymbolEntry::new("I 2 -2 1a'", 332),
    MagneticHallSymbolEntry::new("I 2 -2c", 333),
    MagneticHallSymbolEntry::new("I 2 -2c 1'", 334),
    MagneticHallSymbolEntry::new("I 2' -2c'", 335),
    MagneticHallSymbolEntry::new("I 2 -2c'", 336),
    MagneticHallSymbolEntry::new("I 2 -2c 1c'", 337),
    MagneticHallSymbolEntry::new("I 2 -2c 1a'", 338),
    MagneticHallSymbolEntry::new("I 2 -2a", 339),
    MagneticHallSymbolEntry::new("I 2 -2a 1'", 340),
    MagneticHallSymbolEntry::new("I 2' -2a'", 341),
    MagneticHallSymbolEntry::new("I 2' -2a", 342),
    MagneticHallSymbolEntry::new("I 2 -2a'", 343),
    MagneticHallSymbolEntry::new("I 2 -2a 1c'", 344),
    MagneticHallSymbolEntry::new("I 2 -2a 1a'", 345),
    MagneticHallSymbolEntry::new("I 2 -2a 1b'", 346),
    MagneticHallSymbolEntry::new("-P 2 2", 347),
    MagneticHallSymbolEntry::new("-P 2 2 1'", 348),
    MagneticHallSymbolEntry::new("P 2' 2 -1'", 349),
    MagneticHallSymbolEntry::new("-P 2 2'", 350),
    MagneticHallSymbolEntry::new("P 2 2 -1'", 351),
    MagneticHallSymbolEntry::new("-P 2 2 1a'", 352),
    MagneticHallSymbolEntry::new("-P 2 2 1ab'", 353),
    MagneticHallSymbolEntry::new("-P 2 2 1abc'", 354),
    MagneticHallSymbolEntry::new("-P 2ab 2bc", 355),
    MagneticHallSymbolEntry::new("-P 2ab 2bc 1'", 356),
    MagneticHallSymbolEntry::new("P 2ab' 2bc -1'", 357),
    MagneticHallSymbolEntry::new("-P 2ab 2bc'", 358),
    MagneticHallSymbolEntry::new("P 2ab 2bc -1'", 359),
    MagneticHallSymbolEntry::new("-P 2ab 2bc 1c'", 360),
    MagneticHallSymbolEntry::new("-P 2ab 2bc 1ab'", 361),
    MagneticHallSymbolEntry::new("-P 2ab 2bc 1abc'", 362),
    MagneticHallSymbolEntry::new("-P 2 2c", 363),
    MagneticHallSymbolEntry::new("-P 2 2c 1'", 364),
    MagneticHallSymbolEntry::new("P 2' 2c -1'", 365),
    MagneticHallSymbolEntry::new("P 2 2c' -1'", 366),
    MagneticHallSymbolEntry::new("-P 2 2c'", 367),
    MagneticHallSymbolEntry::new("-P 2' 2c'", 368),
    MagneticHallSymbolEntry::new("P 2 2c -1'", 369),
    MagneticHallSymbolEntry::new("-P 2 2c 1a'", 370),
    MagneticHallSymbolEntry::new("-P 2 2c 1c'", 371),
    MagneticHallSymbolEntry::new("-P 2 2c 1ac'", 372),
    MagneticHallSymbolEntry::new("-P 2 2c 1ab'", 373),
    MagneticHallSymbolEntry::new("-P 2 2c 1abc'", 374),
    MagneticHallSymbolEntry::new("-P 2ab 2b", 375),
    MagneticHallSymbolEntry::new("-P 2ab 2b 1'", 376),
    MagneticHallSymbolEntry::new("P 2ab' 2b -1'", 377),
    MagneticHallSymbolEntry::new("P 2ab 2b' -1'", 378),
    MagneticHallSymbolEntry::new("-P 2ab 2b'", 379),
    MagneticHallSymbolEntry::new("-P 2ab' 2b'", 380),
    MagneticHallSymbolEntry::new("P 2ab 2b -1'", 381),
    MagneticHallSymbolEntry::new("-P 2ab 2b 1a'", 382),
    MagneticHallSymbolEntry::new("-P 2ab 2b 1c'", 383),
    MagneticHallSymbolEntry::new("-P 2ab 2b 1bc'", 384),
    MagneticHallSymbolEntry::new("-P 2ab 2b 1ab'", 385),
    MagneticHallSymbolEntry::new("-P 2ab 2b 1abc'", 386),
    MagneticHallSymbolEntry::new("-P 2a 2a", 387),
    MagneticHallSymbolEntry::new("-P 2a 2a 1'", 388),
    MagneticHallSymbolEntry::new("P 2a' 2a -1'", 389),
    MagneticHallSymbolEntry::new("P 2a' 2a' -1'", 390),
    MagneticHallSymbolEntry::new("P 2a 2a' -1'", 391),
    MagneticHallSymbolEntry::new("-P 2a 2a'", 392),
    MagneticHallSymbolEntry::new("-P 2a' 2a", 393),
    MagneticHallSymbolEntry::new("-P 2a' 2a'", 394),
    MagneticHallSymbolEntry::new("P 2a 2a -1'", 395),
    MagneticHallSymbolEntry::new("-P 2a 2a 1a'", 396),
    MagneticHallSymbolEntry::new("-P 2a 2a 1b'", 397),
    MagneticHallSymbolEntry::new("-P 2a 2a 1c'", 398),
    MagneticHallSymbolEntry::new("-P 2a 2a 1bc'", 399),
    MagneticHallSymbolEntry::new("-P 2a 2a 1ac'", 400),
    MagneticHallSymbolEntry::new("-P 2a 2a 1ab'", 401),
    MagneticHallSymbolEntry::new("-P 2a 2a 1abc'", 402),
    MagneticHallSymbolEntry::new("-P 2a 2bc", 403),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1'", 404),
    MagneticHallSymbolEntry::new("P 2a' 2bc -1'", 405),
    MagneticHallSymbolEntry::new("P 2a' 2bc' -1'", 406),
    MagneticHallSymbolEntry::new("P 2a 2bc' -1'", 407),
    MagneticHallSymbolEntry::new("-P 2a 2bc'", 408),
    MagneticHallSymbolEntry::new("-P 2a' 2bc", 409),
    MagneticHallSymbolEntry::new("-P 2a' 2bc'", 410),
    MagneticHallSymbolEntry::new("P 2a 2bc -1'", 411),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1a'", 412),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1b'", 413),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1c'", 414),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1bc'", 415),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1ac'", 416),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1ab'", 417),
    MagneticHallSymbolEntry::new("-P 2a 2bc 1abc'", 418),
    MagneticHallSymbolEntry::new("-P 2ac 2", 419),
    MagneticHallSymbolEntry::new("-P 2ac 2 1'", 420),
    MagneticHallSymbolEntry::new("P 2ac' 2 -1'", 421),
    MagneticHallSymbolEntry::new("P 2ac' 2' -1'", 422),
    MagneticHallSymbolEntry::new("P 2ac 2' -1'", 423),
    MagneticHallSymbolEntry::new("-P 2ac 2'", 424),
    MagneticHallSymbolEntry::new("-P 2ac' 2", 425),
    MagneticHallSymbolEntry::new("-P 2ac' 2'", 426),
    MagneticHallSymbolEntry::new("P 2ac 2 -1'", 427),
    MagneticHallSymbolEntry::new("-P 2ac 2 1a'", 428),
    MagneticHallSymbolEntry::new("-P 2ac 2 1b'", 429),
    MagneticHallSymbolEntry::new("-P 2ac 2 1c'", 430),
    MagneticHallSymbolEntry::new("-P 2ac 2 1bc'", 431),
    MagneticHallSymbolEntry::new("-P 2ac 2 1ac'", 432),
    MagneticHallSymbolEntry::new("-P 2ac 2 1ab'", 433),
    MagneticHallSymbolEntry::new("-P 2ac 2 1abc'", 434),
    MagneticHallSymbolEntry::new("-P 2a 2ac", 435),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1'", 436),
    MagneticHallSymbolEntry::new("P 2a' 2ac -1'", 437),
    MagneticHallSymbolEntry::new("P 2a' 2ac' -1'", 438),
    MagneticHallSymbolEntry::new("P 2a 2ac' -1'", 439),
    MagneticHallSymbolEntry::new("-P 2a 2ac'", 440),
    MagneticHallSymbolEntry::new("-P 2a' 2ac", 441),
    MagneticHallSymbolEntry::new("-P 2a' 2ac'", 442),
    MagneticHallSymbolEntry::new("P 2a 2ac -1'", 443),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1a'", 444),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1b'", 445),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1c'", 446),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1bc'", 447),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1ac'", 448),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1ab'", 449),
    MagneticHallSymbolEntry::new("-P 2a 2ac 1abc'", 450),
    MagneticHallSymbolEntry::new("-P 2 2ab", 451),
    MagneticHallSymbolEntry::new("-P 2 2ab 1'", 452),
    MagneticHallSymbolEntry::new("P 2' 2ab -1'", 453),
    MagneticHallSymbolEntry::new("P 2 2ab' -1'", 454),
    MagneticHallSymbolEntry::new("-P 2 2ab'", 455),
    MagneticHallSymbolEntry::new("-P 2' 2ab'", 456),
    MagneticHallSymbolEntry::new("P 2 2ab -1'", 457),
    MagneticHallSymbolEntry::new("-P 2 2ab 1a'", 458),
    MagneticHallSymbolEntry::new("-P 2 2ab 1c'", 459),
    MagneticHallSymbolEntry::new("-P 2 2ab 1bc'", 460),
    MagneticHallSymbolEntry::new("-P 2 2ab 1ab'", 461),
    MagneticHallSymbolEntry::new("-P 2 2ab 1abc'", 462),
    MagneticHallSymbolEntry::new("-P 2ab 2ac", 463),
    MagneticHallSymbolEntry::new("-P 2ab 2ac 1'", 464),
    MagneticHallSymbolEntry::new("P 2ab' 2ac -1'", 465),
    MagneticHallSymbolEntry::new("P 2ab 2ac' -1'", 466),
    MagneticHallSymbolEntry::new("-P 2ab 2ac'", 467),
    MagneticHallSymbolEntry::new("-P 2ab' 2ac'", 468),
    MagneticHallSymbolEntry::new("P 2ab 2ac -1'", 469),
    MagneticHallSymbolEntry::new("-P 2ab 2ac 1b'", 470),
    MagneticHallSymbolEntry::new("-P 2ab 2ac 1c'", 471),
    MagneticHallSymbolEntry::new("-P 2ab 2ac 1bc'", 472),
    MagneticHallSymbolEntry::new("-P 2ab 2ac 1ab'", 473),
    MagneticHallSymbolEntry::new("-P 2ab 2ac 1abc'", 474),
    MagneticHallSymbolEntry::new("-P 2c 2b", 475),
    MagneticHallSymbolEntry::new("-P 2c 2b 1'", 476),
    MagneticHallSymbolEntry::new("P 2c' 2b -1'", 477),
    MagneticHallSymbolEntry::new("P 2c' 2b' -1'", 478),
    MagneticHallSymbolEntry::new("P 2c 2b' -1'", 479),
    MagneticHallSymbolEntry::new("-P 2c 2b'", 480),
    MagneticHallSymbolEntry::new("-P 2c' 2b", 481),
    MagneticHallSymbolEntry::new("-P 2c' 2b'", 482),
    MagneticHallSymbolEntry::new("P 2c 2b -1'", 483),
    MagneticHallSymbolEntry::new("-P 2c 2b 1a'", 484),
    MagneticHallSymbolEntry::new("-P 2c 2b 1b'", 485),
    MagneticHallSymbolEntry::new("-P 2c 2b 1c'", 486),
    MagneticHallSymbolEntry::new("-P 2c 2b 1bc'", 487),
    MagneticHallSymbolEntry::new("-P 2c 2b 1ac'", 488),
    MagneticHallSymbolEntry::new("-P 2c 2b 1ab'", 489),
    MagneticHallSymbolEntry::new("-P 2c 2b 1abc'", 490),
    MagneticHallSymbolEntry::new("-P 2 2n", 491),
    MagneticHallSymbolEntry::new("-P 2 2n 1'", 492),
    MagneticHallSymbolEntry::new("P 2' 2n -1'", 493),
    MagneticHallSymbolEntry::new("P 2 2n' -1'", 494),
    MagneticHallSymbolEntry::new("-P 2 2n'", 495),
    MagneticHallSymbolEntry::new("-P 2' 2n", 496),
    MagneticHallSymbolEntry::new("P 2 2n -1'", 497),
    MagneticHallSymbolEntry::new("-P 2 2n 1a'", 498),
    MagneticHallSymbolEntry::new("-P 2 2n 1c'", 499),
    MagneticHallSymbolEntry::new("-P 2 2n 1ac'", 500),
    MagneticHallSymbolEntry::new("-P 2 2n 1ab'", 501),
    MagneticHallSymbolEntry::new("-P 2 2n 1abc'", 502),
    MagneticHallSymbolEntry::new("-P 2ab 2a", 503),
    MagneticHallSymbolEntry::new("-P 2ab 2a 1'", 504),
    MagneticHallSymbolEntry::new("P 2ab' 2a -1'", 505),
    MagneticHallSymbolEntry::new("P 2ab 2a' -1'", 506),
    MagneticHallSymbolEntry::new("-P 2ab 2a'", 507),
    MagneticHallSymbolEntry::new("-P 2ab' 2a", 508),
    MagneticHallSymbolEntry::new("P 2ab 2a -1'", 509),
    MagneticHallSymbolEntry::new("-P 2ab 2a 1b'", 510),
    MagneticHallSymbolEntry::new("-P 2ab 2a 1c'", 511),
    MagneticHallSymbolEntry::new("-P 2ab 2a 1ac'", 512),
    MagneticHallSymbolEntry::new("-P 2ab 2a 1ab'", 513),
    MagneticHallSymbolEntry::new("-P 2ab 2a 1abc'", 514),
    MagneticHallSymbolEntry::new("-P 2n 2ab", 515),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1'", 516),
    MagneticHallSymbolEntry::new("P 2n' 2ab -1'", 517),
    MagneticHallSymbolEntry::new("P 2n' 2ab' -1'", 518),
    MagneticHallSymbolEntry::new("P 2n 2ab' -1'", 519),
    MagneticHallSymbolEntry::new("-P 2n 2ab'", 520),
    MagneticHallSymbolEntry::new("-P 2n' 2ab", 521),
    MagneticHallSymbolEntry::new("-P 2n' 2ab'", 522),
    MagneticHallSymbolEntry::new("P 2n 2ab -1'", 523),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1a'", 524),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1b'", 525),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1c'", 526),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1bc'", 527),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1ac'", 528),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1ab'", 529),
    MagneticHallSymbolEntry::new("-P 2n 2ab 1abc'", 530),
    MagneticHallSymbolEntry::new("-P 2ac 2ab", 531),
    MagneticHallSymbolEntry::new("-P 2ac 2ab 1'", 532),
    MagneticHallSymbolEntry::new("P 2ac' 2ab -1'", 533),
    MagneticHallSymbolEntry::new("-P 2ac 2ab'", 534),
    MagneticHallSymbolEntry::new("P 2ac 2ab -1'", 535),
    MagneticHallSymbolEntry::new("-P 2ac 2ab 1a'", 536),
    MagneticHallSymbolEntry::new("-P 2ac 2ab 1ab'", 537),
    MagneticHallSymbolEntry::new("-P 2ac 2ab 1abc'", 538),
    MagneticHallSymbolEntry::new("-P 2ac 2n", 539),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1'", 540),
    MagneticHallSymbolEntry::new("P 2ac' 2n -1'", 541),
    MagneticHallSymbolEntry::new("P 2ac' 2n' -1'", 542),
    MagneticHallSymbolEntry::new("P 2ac 2n' -1'", 543),
    MagneticHallSymbolEntry::new("-P 2ac 2n'", 544),
    MagneticHallSymbolEntry::new("-P 2ac' 2n", 545),
    MagneticHallSymbolEntry::new("-P 2ac' 2n'", 546),
    MagneticHallSymbolEntry::new("P 2ac 2n -1'", 547),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1a'", 548),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1b'", 549),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1c'", 550),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1bc'", 551),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1ac'", 552),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1ab'", 553),
    MagneticHallSymbolEntry::new("-P 2ac 2n 1abc'", 554),
    MagneticHallSymbolEntry::new("-C 2c 2", 555),
    MagneticHallSymbolEntry::new("-C 2c 2 1'", 556),
    MagneticHallSymbolEntry::new("C 2c' 2 -1'", 557),
    MagneticHallSymbolEntry::new("C 2c' 2' -1'", 558),
    MagneticHallSymbolEntry::new("C 2c 2' -1'", 559),
    MagneticHallSymbolEntry::new("-C 2c 2'", 560),
    MagneticHallSymbolEntry::new("-C 2c' 2", 561),
    MagneticHallSymbolEntry::new("-C 2c' 2'", 562),
    MagneticHallSymbolEntry::new("C 2c 2 -1'", 563),
    MagneticHallSymbolEntry::new("-C 2c 2 1c'", 564),
    MagneticHallSymbolEntry::new("-C 2c 2 1a'", 565),
    MagneticHallSymbolEntry::new("-C 2c 2 1bc'", 566),
    MagneticHallSymbolEntry::new("-C 2bc 2", 567),
    MagneticHallSymbolEntry::new("-C 2bc 2 1'", 568),
    MagneticHallSymbolEntry::new("C 2bc' 2 -1'", 569),
    MagneticHallSymbolEntry::new("C 2bc' 2' -1'", 570),
    MagneticHallSymbolEntry::new("C 2bc 2' -1'", 571),
    MagneticHallSymbolEntry::new("-C 2bc 2'", 572),
    MagneticHallSymbolEntry::new("-C 2bc' 2", 573),
    MagneticHallSymbolEntry::new("-C 2bc' 2'", 574),
    MagneticHallSymbolEntry::new("C 2bc 2 -1'", 575),
    MagneticHallSymbolEntry::new("-C 2bc 2 1c'", 576),
    MagneticHallSymbolEntry::new("-C 2bc 2 1a'", 577),
    MagneticHallSymbolEntry::new("-C 2bc 2 1bc'", 578),
    MagneticHallSymbolEntry::new("-C 2 2", 579),
    MagneticHallSymbolEntry::new("-C 2 2 1'", 580),
    MagneticHallSymbolEntry::new("C 2' 2 -1'", 581),
    MagneticHallSymbolEntry::new("C 2 2' -1'", 582),
    MagneticHallSymbolEntry::new("-C 2 2'", 583),
    MagneticHallSymbolEntry::new("-C 2' 2", 584),
    MagneticHallSymbolEntry::new("C 2 2 -1'", 585),
    MagneticHallSymbolEntry::new("-C 2 2 1c'", 586),
    MagneticHallSymbolEntry::new("-C 2 2 1a'", 587),
    MagneticHallSymbolEntry::new("-C 2 2 1bc'", 588),
    MagneticHallSymbolEntry::new("-C 2 2c", 589),
    MagneticHallSymbolEntry::new("-C 2 2c 1'", 590),
    MagneticHallSymbolEntry::new("C 2' 2c -1'", 591),
    MagneticHallSymbolEntry::new("C 2 2c' -1'", 592),
    MagneticHallSymbolEntry::new("-C 2 2c'", 593),
    MagneticHallSymbolEntry::new("-C 2' 2c", 594),
    MagneticHallSymbolEntry::new("C 2 2c -1'", 595),
    MagneticHallSymbolEntry::new("-C 2 2c 1c'", 596),
    MagneticHallSymbolEntry::new("-C 2 2c 1a'", 597),
    MagneticHallSymbolEntry::new("-C 2 2c 1bc'", 598),
    MagneticHallSymbolEntry::new("-C 2b 2", 599),
    MagneticHallSymbolEntry::new("-C 2b 2 1'", 600),
    MagneticHallSymbolEntry::new("C 2b' 2 -1'", 601),
    MagneticHallSymbolEntry::new("C 2b 2' -1'", 602),
    MagneticHallSymbolEntry::new("-C 2b 2'", 603),
    MagneticHallSymbolEntry::new("-C 2b' 2", 604),
    MagneticHallSymbolEntry::new("C 2b 2 -1'", 605),
    MagneticHallSymbolEntry::new("-C 2b 2 1c'", 606),
    MagneticHallSymbolEntry::new("-C 2b 2 1a'", 607),
    MagneticHallSymbolEntry::new("-C 2b 2 1bc'", 608),
    MagneticHallSymbolEntry::new("-C 2a 2ac", 609),
    MagneticHallSymbolEntry::new("-C 2a 2ac 1'", 610),
    MagneticHallSymbolEntry::new("C 2a' 2ac -1'", 611),
    MagneticHallSymbolEntry::new("C 2a 2ac' -1'", 612),
    MagneticHallSymbolEntry::new("-C 2b 2ac'", 613),
    MagneticHallSymbolEntry::new("-C 2a' 2ac", 614),
    MagneticHallSymbolEntry::new("C 2a 2ac -1'", 615),
    MagneticHallSymbolEntry::new("-C 2a 2ac 1c'", 616),
    MagneticHallSymbolEntry::new("-C 2a 2ac 1a'", 617),
    MagneticHallSymbolEntry::new("-C 2a 2ac 1bc'", 618),
    MagneticHallSymbolEntry::new("-F 2 2", 619),
    MagneticHallSymbolEntry::new("-F 2 2 1'", 620),
    MagneticHallSymbolEntry::new("F 2' 2 -1'", 621),
    MagneticHallSymbolEntry::new("-F 2 2'", 622),
    MagneticHallSymbolEntry::new("F 2 2 -1'", 623),
    MagneticHallSymbolEntry::new("-F 2 2 1abc'", 624),
    MagneticHallSymbolEntry::new("-F 2uv 2vw", 625),
    MagneticHallSymbolEntry::new("-F 2uv 2vw 1'", 626),
    MagneticHallSymbolEntry::new("F 2uv' 2vw -1'", 627),
    MagneticHallSymbolEntry::new("-F 2uv 2vw'", 628),
    MagneticHallSymbolEntry::new("F 2uv 2vw -1'", 629),
    MagneticHallSymbolEntry::new("-F 2uv 2vw 1abc'", 630),
    MagneticHallSymbolEntry::new("-I 2 2", 631),
    MagneticHallSymbolEntry::new("-I 2 2 1'", 632),
    MagneticHallSymbolEntry::new("I 2' 2 -1'", 633),
    MagneticHallSymbolEntry::new("-I 2 2'", 634),
    MagneticHallSymbolEntry::new("I 2 2 -1'", 635),
    MagneticHallSymbolEntry::new("-I 2 2 1c'", 636),
    MagneticHallSymbolEntry::new("-I 2 2c", 637),
    MagneticHallSymbolEntry::new("-I 2 2c 1'", 638),
    MagneticHallSymbolEntry::new("I 2' 2c -1'", 639),
    MagneticHallSymbolEntry::new("I 2 2c' -1'", 640),
    MagneticHallSymbolEntry::new("-I 2 2c'", 641),
    MagneticHallSymbolEntry::new("-I 2' 2c", 642),
    MagneticHallSymbolEntry::new("I 2 2c -1'", 643),
    MagneticHallSymbolEntry::new("-I 2 2c 1c'", 644),
    MagneticHallSymbolEntry::new("-I 2 2c 1b'", 645),
    MagneticHallSymbolEntry::new("-I 2b 2c", 646),
    MagneticHallSymbolEntry::new("-I 2b 2c 1'", 647),
    MagneticHallSymbolEntry::new("I 2b' 2c -1'", 648),
    MagneticHallSymbolEntry::new("-I 2b 2c'", 649),
    MagneticHallSymbolEntry::new("I 2b 2c -1'", 650),
    MagneticHallSymbolEntry::new("-I 2b 2c 1c'", 651),
    MagneticHallSymbolEntry::new("-I 2b 2", 652),
    MagneticHallSymbolEntry::new("-I 2b 2 1'", 653),
    MagneticHallSymbolEntry::new("I 2b' 2 -1'", 654),
    MagneticHallSymbolEntry::new("I 2b 2' -1'", 655),
    MagneticHallSymbolEntry::new("-I 2b 2'", 656),
    MagneticHallSymbolEntry::new("-I 2b' 2", 657),
    MagneticHallSymbolEntry::new("I 2b 2 -1'", 658),
    MagneticHallSymbolEntry::new("-I 2b 2 1c'", 659),
    MagneticHallSymbolEntry::new("-I 2b 2 1b'", 660),
    MagneticHallSymbolEntry::new("P 4", 661),
    MagneticHallSymbolEntry::new("P 4 1'", 662),
    MagneticHallSymbolEntry::new("P 4'", 663),
    MagneticHallSymbolEntry::new("P 4 1c'", 664),
    MagneticHallSymbolEntry::new("P 4 1ab'", 665),
    MagneticHallSymbolEntry::new("P 4 1abc'", 666),
    MagneticHallSymbolEntry::new("P 4w", 667),
    MagneticHallSymbolEntry::new("P 4w 1'", 668),
    MagneticHallSymbolEntry::new("P 4w'", 669),
    MagneticHallSymbolEntry::new("P 4w 1c'", 670),
    MagneticHallSymbolEntry::new("P 4w 1ab'", 671),
    MagneticHallSymbolEntry::new("P 4w 1abc'", 672),
    MagneticHallSymbolEntry::new("P 4c", 673),
    MagneticHallSymbolEntry::new("P 4c 1'", 674),
    MagneticHallSymbolEntry::new("P 4c'", 675),
    MagneticHallSymbolEntry::new("P 4c 1c'", 676),
    MagneticHallSymbolEntry::new("P 4c 1ab'", 677),
    MagneticHallSymbolEntry::new("P 4c 1abc'", 678),
    MagneticHallSymbolEntry::new("P 4cw", 679),
    MagneticHallSymbolEntry::new("P 4cw 1'", 680),
    MagneticHallSymbolEntry::new("P 4cw'", 681),
    MagneticHallSymbolEntry::new("P 4cw 1c'", 682),
    MagneticHallSymbolEntry::new("P 4cw 1ab'", 683),
    MagneticHallSymbolEntry::new("P 4cw 1abc'", 684),
    MagneticHallSymbolEntry::new("I 4", 685),
    MagneticHallSymbolEntry::new("I 4 1'", 686),
    MagneticHallSymbolEntry::new("I 4'", 687),
    MagneticHallSymbolEntry::new("I 4 1c'", 688),
    MagneticHallSymbolEntry::new("I 4bw", 689),
    MagneticHallSymbolEntry::new("I 4bw 1'", 690),
    MagneticHallSymbolEntry::new("I 4bw'", 691),
    MagneticHallSymbolEntry::new("I 4bw 1c'", 692),
    MagneticHallSymbolEntry::new("P -4", 693),
    MagneticHallSymbolEntry::new("P -4 1'", 694),
    MagneticHallSymbolEntry::new("P -4'", 695),
    MagneticHallSymbolEntry::new("P -4 1c'", 696),
    MagneticHallSymbolEntry::new("P -4 1ab'", 697),
    MagneticHallSymbolEntry::new("P -4 1abc'", 698),
    MagneticHallSymbolEntry::new("I -4", 699),
    MagneticHallSymbolEntry::new("I -4 1'", 700),
    MagneticHallSymbolEntry::new("I -4'", 701),
    MagneticHallSymbolEntry::new("I -4 1c'", 702),
    MagneticHallSymbolEntry::new("-P 4", 703),
    MagneticHallSymbolEntry::new("-P 4 1'", 704),
    MagneticHallSymbolEntry::new("-P 4'", 705),
    MagneticHallSymbolEntry::new("P 4 -1'", 706),
    MagneticHallSymbolEntry::new("P 4' -1'", 707),
    MagneticHallSymbolEntry::new("-P 4 1c'", 708),
    MagneticHallSymbolEntry::new("-P 4 1ab'", 709),
    MagneticHallSymbolEntry::new("-P 4 1abc'", 710),
    MagneticHallSymbolEntry::new("-P 4c", 711),
    MagneticHallSymbolEntry::new("-P 4c 1'", 712),
    MagneticHallSymbolEntry::new("-P 4c'", 713),
    MagneticHallSymbolEntry::new("P 4c -1'", 714),
    MagneticHallSymbolEntry::new("P 4c' -1'", 715),
    MagneticHallSymbolEntry::new("-P 4c 1c'", 716),
    MagneticHallSymbolEntry::new("-P 4c 1ab'", 717),
    MagneticHallSymbolEntry::new("-P 4c 1abc'", 718),
    MagneticHallSymbolEntry::new("-P 4a", 719),
    MagneticHallSymbolEntry::new("-P 4a 1'", 720),
    MagneticHallSymbolEntry::new("-P 4a'", 721),
    MagneticHallSymbolEntry::new("P 4a -1'", 722),
    MagneticHallSymbolEntry::new("P 4a' -1'", 723),
    MagneticHallSymbolEntry::new("-P 4a 1c'", 724),
    MagneticHallSymbolEntry::new("-P 4a 1ab'", 725),
    MagneticHallSymbolEntry::new("-P 4a 1abc'", 726),
    MagneticHallSymbolEntry::new("-P 4bc", 727),
    MagneticHallSymbolEntry::new("-P 4bc 1'", 728),
    MagneticHallSymbolEntry::new("-P 4bc'", 729),
    MagneticHallSymbolEntry::new("P 4bc -1'", 730),
    MagneticHallSymbolEntry::new("P 4bc' -1'", 731),
    MagneticHallSymbolEntry::new("-P 4bc 1c'", 732),
    MagneticHallSymbolEntry::new("-P 4bc 1ab'", 733),
    MagneticHallSymbolEntry::new("-P 4bc 1abc'", 734),
    MagneticHallSymbolEntry::new("-I 4", 735),
    MagneticHallSymbolEntry::new("-I 4 1'", 736),
    MagneticHallSymbolEntry::new("-I 4'", 737),
    MagneticHallSymbolEntry::new("I 4 -1'", 738),
    MagneticHallSymbolEntry::new("I 4' -1'", 739),
    MagneticHallSymbolEntry::new("-I 4 1c'", 740),
    MagneticHallSymbolEntry::new("-I 4ad", 741),
    MagneticHallSymbolEntry::new("-I 4ad 1'", 742),
    MagneticHallSymbolEntry::new("-I 4ad'", 743),
    MagneticHallSymbolEntry::new("I 4ad -1'", 744),
    MagneticHallSymbolEntry::new("I 4ad' -1'", 745),
    MagneticHallSymbolEntry::new("-I 4ad 1c'", 746),
    MagneticHallSymbolEntry::new("P 4 2", 747),
    MagneticHallSymbolEntry::new("P 4 2 1'", 748),
    MagneticHallSymbolEntry::new("P 4' 2", 749),
    MagneticHallSymbolEntry::new("P 4 2'", 750),
    MagneticHallSymbolEntry::new("P 4' 2'", 751),
    MagneticHallSymbolEntry::new("P 4 2 1c'", 752),
    MagneticHallSymbolEntry::new("P 4 2 1ab'", 753),
    MagneticHallSymbolEntry::new("P 4 2 1abc'", 754),
    MagneticHallSymbolEntry::new("P 4ab 2ab", 755),
    MagneticHallSymbolEntry::new("P 4ab 2ab 1'", 756),
    MagneticHallSymbolEntry::new("P 4ab' 2ab", 757),
    MagneticHallSymbolEntry::new("P 4ab 2ab'", 758),
    MagneticHallSymbolEntry::new("P 4ab' 2ab'", 759),
    MagneticHallSymbolEntry::new("P 4ab 2ab 1c'", 760),
    MagneticHallSymbolEntry::new("P 4ab 2ab 1ab'", 761),
    MagneticHallSymbolEntry::new("P 4ab 2ab 1abc'", 762),
    MagneticHallSymbolEntry::new("P 4w 2c", 763),
    MagneticHallSymbolEntry::new("P 4w 2c 1'", 764),
    MagneticHallSymbolEntry::new("P 4w' 2c", 765),
    MagneticHallSymbolEntry::new("P 4w 2c'", 766),
    MagneticHallSymbolEntry::new("P 4w' 2c'", 767),
    MagneticHallSymbolEntry::new("P 4w 2c 1c'", 768),
    MagneticHallSymbolEntry::new("P 4w 2c 1ab'", 769),
    MagneticHallSymbolEntry::new("P 4w 2c 1abc'", 770),
    MagneticHallSymbolEntry::new("P 4abw 2nw", 771),
    MagneticHallSymbolEntry::new("P 4abw 2nw 1'", 772),
    MagneticHallSymbolEntry::new("P 4abw' 2nw", 773),
    MagneticHallSymbolEntry::new("P 4abw 2nw'", 774),
    MagneticHallSymbolEntry::new("P 4abw' 2nw'", 775),
    MagneticHallSymbolEntry::new("P 4abw 2nw 1c'", 776),
    MagneticHallSymbolEntry::new("P 4abw 2nw 1ab'", 777),
    MagneticHallSymbolEntry::new("P 4abw 2nw 1abc'", 778),
    MagneticHallSymbolEntry::new("P 4c 2", 779),
    MagneticHallSymbolEntry::new("P 4c 2 1'", 780),
    MagneticHallSymbolEntry::new("P 4c' 2", 781),
    MagneticHallSymbolEntry::new("P 4c 2'", 782),
    MagneticHallSymbolEntry::new("P 4c' 2'", 783),
    MagneticHallSymbolEntry::new("P 4c 2 1c'", 784),
    MagneticHallSymbolEntry::new("P 4c 2 1ab'", 785),
    MagneticHallSymbolEntry::new("P 4c 2 1abc'", 786),
    MagneticHallSymbolEntry::new("P 4n 2n", 787),
    MagneticHallSymbolEntry::new("P 4n 2n 1'", 788),
    MagneticHallSymbolEntry::new("P 4n' 2n", 789),
    MagneticHallSymbolEntry::new("P 4n 2n'", 790),
    MagneticHallSymbolEntry::new("P 4n' 2n'", 791),
    MagneticHallSymbolEntry::new("P 4n 2n 1c'", 792),
    MagneticHallSymbolEntry::new("P 4n 2n 1ab'", 793),
    MagneticHallSymbolEntry::new("P 4n 2n 1abc'", 794),
    MagneticHallSymbolEntry::new("P 4cw 2c", 795),
    MagneticHallSymbolEntry::new("P 4cw 2c 1'", 796),
    MagneticHallSymbolEntry::new("P 4cw' 2c", 797),
    MagneticHallSymbolEntry::new("P 4cw 2c'", 798),
    MagneticHallSymbolEntry::new("P 4cw' 2c'", 799),
    MagneticHallSymbolEntry::new("P 4cw 2c 1c'", 800),
    MagneticHallSymbolEntry::new("P 4cw 2c 1ab'", 801),
    MagneticHallSymbolEntry::new("P 4cw 2c 1abc'", 802),
    MagneticHallSymbolEntry::new("P 4nw 2abw", 803),
    MagneticHallSymbolEntry::new("P 4nw 2abw 1'", 804),
    MagneticHallSymbolEntry::new("P 4nw' 2abw", 805),
    MagneticHallSymbolEntry::new("P 4nw 2abw'", 806),
    MagneticHallSymbolEntry::new("P 4nw' 2abw'", 807),
    MagneticHallSymbolEntry::new("P 4nw 2abw 1c'", 808),
    MagneticHallSymbolEntry::new("P 4nw 2abw 1ab'", 809),
    MagneticHallSymbolEntry::new("P 4nw 2abw 1abc'", 810),
    MagneticHallSymbolEntry::new("I 4 2", 811),
    MagneticHallSymbolEntry::new("I 4 2 1'", 812),
    MagneticHallSymbolEntry::new("I 4' 2", 813),
    MagneticHallSymbolEntry::new("I 4 2'", 814),
    MagneticHallSymbolEntry::new("I 4' 2'", 815),
    MagneticHallSymbolEntry::new("I 4 2 1c'", 816),
    MagneticHallSymbolEntry::new("I 4bw 2bw", 817),
    MagneticHallSymbolEntry::new("I 4bw 2bw 1'", 818),
    MagneticHallSymbolEntry::new("I 4bw' 2bw", 819),
    MagneticHallSymbolEntry::new("I 4bw 2bw'", 820),
    MagneticHallSymbolEntry::new("I 4bw' 2bw'", 821),
    MagneticHallSymbolEntry::new("I 4bw 2bw 1c'", 822),
    MagneticHallSymbolEntry::new("P 4 -2", 823),
    MagneticHallSymbolEntry::new("P 4 -2 1'", 824),
    MagneticHallSymbolEntry::new("P 4' -2'", 825),
    MagneticHallSymbolEntry::new("P 4' -2", 826),
    MagneticHallSymbolEntry::new("P 4 -2'", 827),
    MagneticHallSymbolEntry::new("P 4 -2 1c'", 828),
    MagneticHallSymbolEntry::new("P 4 -2 1ab'", 829),
    MagneticHallSymbolEntry::new("P 4 -2 1abc'", 830),
    MagneticHallSymbolEntry::new("P 4 -2ab", 831),
    MagneticHallSymbolEntry::new("P 4 -2ab 1'", 832),
    MagneticHallSymbolEntry::new("P 4' -2ab'", 833),
    MagneticHallSymbolEntry::new("P 4' -2ab", 834),
    MagneticHallSymbolEntry::new("P 4 -2ab'", 835),
    MagneticHallSymbolEntry::new("P 4 -2ab 1c'", 836),
    MagneticHallSymbolEntry::new("P 4 -2ab 1ab'", 837),
    MagneticHallSymbolEntry::new("P 4 -2ab 1abc'", 838),
    MagneticHallSymbolEntry::new("P 4c -2c", 839),
    MagneticHallSymbolEntry::new("P 4c -2c 1'", 840),
    MagneticHallSymbolEntry::new("P 4c' -2c'", 841),
    MagneticHallSymbolEntry::new("P 4c' -2c", 842),
    MagneticHallSymbolEntry::new("P 4c -2c'", 843),
    MagneticHallSymbolEntry::new("P 4c -2c 1c'", 844),
    MagneticHallSymbolEntry::new("P 4c -2c 1ab'", 845),
    MagneticHallSymbolEntry::new("P 4c -2c 1abc'", 846),
    MagneticHallSymbolEntry::new("P 4n -2n", 847),
    MagneticHallSymbolEntry::new("P 4n -2n 1'", 848),
    MagneticHallSymbolEntry::new("P 4n' -2n'", 849),
    MagneticHallSymbolEntry::new("P 4n' -2n", 850),
    MagneticHallSymbolEntry::new("P 4n -2n'", 851),
    MagneticHallSymbolEntry::new("P 4n -2n 1c'", 852),
    MagneticHallSymbolEntry::new("P 4n -2n 1ab'", 853),
    MagneticHallSymbolEntry::new("P 4n -2n 1abc'", 854),
    MagneticHallSymbolEntry::new("P 4 -2c", 855),
    MagneticHallSymbolEntry::new("P 4 -2c 1'", 856),
    MagneticHallSymbolEntry::new("P 4' -2c'", 857),
    MagneticHallSymbolEntry::new("P 4' -2c", 858),
    MagneticHallSymbolEntry::new("P 4 -2c'", 859),
    MagneticHallSymbolEntry::new("P 4 -2c 1c'", 860),
    MagneticHallSymbolEntry::new("P 4 -2c 1ab'", 861),
    MagneticHallSymbolEntry::new("P 4 -2c 1abc'", 862),
    MagneticHallSymbolEntry::new("P 4 -2n", 863),
    MagneticHallSymbolEntry::new("P 4 -2n 1'", 864),
    MagneticHallSymbolEntry::new("P 4' -2n'", 865),
    MagneticHallSymbolEntry::new("P 4' -2n", 866),
    MagneticHallSymbolEntry::new("P 4 -2n'", 867),
    MagneticHallSymbolEntry::new("P 4 -2n 1c'", 868),
    MagneticHallSymbolEntry::new("P 4 -2n 1ab'", 869),
    MagneticHallSymbolEntry::new("P 4 -2n 1abc'", 870),
    MagneticHallSymbolEntry::new("P 4c -2", 871),
    MagneticHallSymbolEntry::new("P 4c -2 1'", 872),
    MagneticHallSymbolEntry::new("P 4c' -2'", 873),
    MagneticHallSymbolEntry::new("P 4c' -2", 874),
    MagneticHallSymbolEntry::new("P 4c -2'", 875),
    MagneticHallSymbolEntry::new("P 4c -2 1c'", 876),
    MagneticHallSymbolEntry::new("P 4c -2 1ab'", 877),
    MagneticHallSymbolEntry::new("P 4c -2 1abc'", 878),
    MagneticHallSymbolEntry::new("P 4c -2ab", 879),
    MagneticHallSymbolEntry::new("P 4c -2ab 1'", 880),
    MagneticHallSymbolEntry::new("P 4c' -2ab'", 881),
    MagneticHallSymbolEntry::new("P 4c' -2ab", 882),
    MagneticHallSymbolEntry::new("P 4c -2ab'", 883),
    MagneticHallSymbolEntry::new("P 4c -2ab 1c'", 884),
    MagneticHallSymbolEntry::new("P 4c -2ab 1ab'", 885),
    MagneticHallSymbolEntry::new("P 4c -2ab 1abc'", 886),
    MagneticHallSymbolEntry::new("I 4 -2", 887),
    MagneticHallSymbolEntry::new("I 4 -2 1'", 888),
    MagneticHallSymbolEntry::new("I 4' -2'", 889),
    MagneticHallSymbolEntry::new("I 4' -2", 890),
    MagneticHallSymbolEntry::new("I 4 -2'", 891),
    MagneticHallSymbolEntry::new("I 4 -2 1c'", 892),
    MagneticHallSymbolEntry::new("I 4 -2c", 893),
    MagneticHallSymbolEntry::new("I 4 -2c 1'", 894),
    MagneticHallSymbolEntry::new("I 4' -2c'", 895),
    MagneticHallSymbolEntry::new("I 4' -2c", 896),
    MagneticHallSymbolEntry::new("I 4 -2c'", 897),
    MagneticHallSymbolEntry::new("I 4 -2c 1c'", 898),
    MagneticHallSymbolEntry::new("I 4bw -2", 899),
    MagneticHallSymbolEntry::new("I 4bw -2 1'", 900),
    MagneticHallSymbolEntry::new("I 4bw' -2'", 901),
    MagneticHallSymbolEntry::new("I 4bw' -2", 902),
    MagneticHallSymbolEntry::new("I 4bw -2'", 903),
    MagneticHallSymbolEntry::new("I 4bw -2 1c'", 904),
    MagneticHallSymbolEntry::new("I 4bw -2c", 905),
    MagneticHallSymbolEntry::new("I 4bw -2c 1'", 906),
    MagneticHallSymbolEntry::new("I 4bw' -2c'", 907),
    MagneticHallSymbolEntry::new("I 4bw' -2c", 908),
    MagneticHallSymbolEntry::new("I 4bw -2c'", 909),
    MagneticHallSymbolEntry::new("I 4bw -2c 1c'", 910),
    MagneticHallSymbolEntry::new("P -4 2", 911),
    MagneticHallSymbolEntry::new("P -4 2 1'", 912),
    MagneticHallSymbolEntry::new("P -4' 2'", 913),
    MagneticHallSymbolEntry::new("P -4' 2", 914),
    MagneticHallSymbolEntry::new("P -4 2'", 915),
    MagneticHallSymbolEntry::new("P -4 2 1c'", 916),
    MagneticHallSymbolEntry::new("P -4 2 1ab'", 917),
    MagneticHallSymbolEntry::new("P -4 2 1abc'", 918),
    MagneticHallSymbolEntry::new("P -4 2c", 919),
    MagneticHallSymbolEntry::new("P -4 2c 1'", 920),
    MagneticHallSymbolEntry::new("P -4' 2c'", 921),
    MagneticHallSymbolEntry::new("P -4' 2c", 922),
    MagneticHallSymbolEntry::new("P -4 2c'", 923),
    MagneticHallSymbolEntry::new("P -4 2c 1c'", 924),
    MagneticHallSymbolEntry::new("P -4 2c 1ab'", 925),
    MagneticHallSymbolEntry::new("P -4 2c 1abc'", 926),
    MagneticHallSymbolEntry::new("P -4 2ab", 927),
    MagneticHallSymbolEntry::new("P -4 2ab 1'", 928),
    MagneticHallSymbolEntry::new("P -4' 2ab'", 929),
    MagneticHallSymbolEntry::new("P -4' 2ab", 930),
    MagneticHallSymbolEntry::new("P -4 2ab'", 931),
    MagneticHallSymbolEntry::new("P -4 2ab 1c'", 932),
    MagneticHallSymbolEntry::new("P -4 2ab 1ab'", 933),
    MagneticHallSymbolEntry::new("P -4 2ab 1abc'", 934),
    MagneticHallSymbolEntry::new("P -4 2n", 935),
    MagneticHallSymbolEntry::new("P -4 2n 1'", 936),
    MagneticHallSymbolEntry::new("P -4' 2n'", 937),
    MagneticHallSymbolEntry::new("P -4' 2n", 938),
    MagneticHallSymbolEntry::new("P -4 2n'", 939),
    MagneticHallSymbolEntry::new("P -4 2n 1c'", 940),
    MagneticHallSymbolEntry::new("P -4 2n 1ab'", 941),
    MagneticHallSymbolEntry::new("P -4 2n 1abc'", 942),
    MagneticHallSymbolEntry::new("P -4 -2", 943),
    MagneticHallSymbolEntry::new("P -4 -2 1'", 944),
    MagneticHallSymbolEntry::new("P -4' -2'", 945),
    MagneticHallSymbolEntry::new("P -4' -2", 946),
    MagneticHallSymbolEntry::new("P -4 -2'", 947),
    MagneticHallSymbolEntry::new("P -4 -2 1c'", 948),
    MagneticHallSymbolEntry::new("P -4 -2 1ab'", 949),
    MagneticHallSymbolEntry::new("P -4 -2 1abc'", 950),
    MagneticHallSymbolEntry::new("P -4 -2c", 951),
    MagneticHallSymbolEntry::new("P -4 -2c 1'", 952),
    MagneticHallSymbolEntry::new("P -4' -2c'", 953),
    MagneticHallSymbolEntry::new("P -4' -2c", 954),
    MagneticHallSymbolEntry::new("P -4 -2c'", 955),
    MagneticHallSymbolEntry::new("P -4 -2c 1c'", 956),
    MagneticHallSymbolEntry::new("P -4 -2c 1ab'", 957),
    MagneticHallSymbolEntry::new("P -4 -2c 1abc'", 958),
    MagneticHallSymbolEntry::new("P -4 -2ab", 959),
    MagneticHallSymbolEntry::new("P -4 -2ab 1'", 960),
    MagneticHallSymbolEntry::new("P -4' -2ab'", 961),
    MagneticHallSymbolEntry::new("P -4' -2ab", 962),
    MagneticHallSymbolEntry::new("P -4 -2ab'", 963),
    MagneticHallSymbolEntry::new("P -4 -2ab 1c'", 964),
    MagneticHallSymbolEntry::new("P -4 -2ab 1ab'", 965),
    MagneticHallSymbolEntry::new("P -4 -2ab 1abc'", 966),
    MagneticHallSymbolEntry::new("P -4 -2n", 967),
    MagneticHallSymbolEntry::new("P -4 -2n 1'", 968),
    MagneticHallSymbolEntry::new("P -4' -2n'", 969),
    MagneticHallSymbolEntry::new("P -4' -2n", 970),
    MagneticHallSymbolEntry::new("P -4 -2n'", 971),
    MagneticHallSymbolEntry::new("P -4 -2n 1c'", 972),
    MagneticHallSymbolEntry::new("P -4 -2n 1ab'", 973),
    MagneticHallSymbolEntry::new("P -4 -2n 1abc'", 974),
    MagneticHallSymbolEntry::new("I -4 -2", 975),
    MagneticHallSymbolEntry::new("I -4 -2 1'", 976),
    MagneticHallSymbolEntry::new("I -4' -2'", 977),
    MagneticHallSymbolEntry::new("I -4' -2", 978),
    MagneticHallSymbolEntry::new("I -4 -2'", 979),
    MagneticHallSymbolEntry::new("I -4 -2 1c'", 980),
    MagneticHallSymbolEntry::new("I -4 -2c", 981),
    MagneticHallSymbolEntry::new("I -4 -2c 1'", 982),
    MagneticHallSymbolEntry::new("I -4' -2c'", 983),
    MagneticHallSymbolEntry::new("I -4' -2c", 984),
    MagneticHallSymbolEntry::new("I -4 -2c'", 985),
    MagneticHallSymbolEntry::new("I -4 -2c 1c'", 986),
    MagneticHallSymbolEntry::new("I -4 2", 987),
    MagneticHallSymbolEntry::new("I -4 2 1'", 988),
    MagneticHallSymbolEntry::new("I -4' 2'", 989),
    MagneticHallSymbolEntry::new("I -4' 2", 990),
    MagneticHallSymbolEntry::new("I -4 2'", 991),
    MagneticHallSymbolEntry::new("I -4 2 1c'", 992),
    MagneticHallSymbolEntry::new("I -4 2bw", 993),
    MagneticHallSymbolEntry::new("I -4 2bw 1'", 994),
    MagneticHallSymbolEntry::new("I -4' 2bw'", 995),
    MagneticHallSymbolEntry::new("I -4' 2bw", 996),
    MagneticHallSymbolEntry::new("I -4 2bw'", 997),
    MagneticHallSymbolEntry::new("I -4 2bw 1c'", 998),
    MagneticHallSymbolEntry::new("-P 4 2", 999),
    MagneticHallSymbolEntry::new("-P 4 2 1'", 1000),
    MagneticHallSymbolEntry::new("P 4 2' -1'", 1001),
    MagneticHallSymbolEntry::new("-P 4' 2'", 1002),
    MagneticHallSymbolEntry::new("-P 4' 2", 1003),
    MagneticHallSymbolEntry::new("P 4' 2 -1'", 1004),
    MagneticHallSymbolEntry::new("-P 4 2'", 1005),
    MagneticHallSymbolEntry::new("P 4' 2' -1'", 1006),
    MagneticHallSymbolEntry::new("P 4 2 -1'", 1007),
    MagneticHallSymbolEntry::new("-P 4 2 1c'", 1008),
    MagneticHallSymbolEntry::new("-P 4 2 1ab'", 1009),
    MagneticHallSymbolEntry::new("-P 4 2 1abc'", 1010),
    MagneticHallSymbolEntry::new("-P 4 2c", 1011),
    MagneticHallSymbolEntry::new("-P 4 2c 1'", 1012),
    MagneticHallSymbolEntry::new("P 4 2c' -1'", 1013),
    MagneticHallSymbolEntry::new("-P 4' 2c'", 1014),
    MagneticHallSymbolEntry::new("-P 4' 2c", 1015),
    MagneticHallSymbolEntry::new("P 4' 2c -1'", 1016),
    MagneticHallSymbolEntry::new("-P 4 2c'", 1017),
    MagneticHallSymbolEntry::new("P 4' 2c' -1'", 1018),
    MagneticHallSymbolEntry::new("P 4 2c -1'", 1019),
    MagneticHallSymbolEntry::new("-P 4 2c 1c'", 1020),
    MagneticHallSymbolEntry::new("-P 4 2c 1ab'", 1021),
    MagneticHallSymbolEntry::new("-P 4 2c 1abc'", 1022),
    MagneticHallSymbolEntry::new("-P 4a 2b", 1023),
    MagneticHallSymbolEntry::new("-P 4a 2b 1'", 1024),
    MagneticHallSymbolEntry::new("P 4a 2b' -1'", 1025),
    MagneticHallSymbolEntry::new("-P 4a' 2b'", 1026),
    MagneticHallSymbolEntry::new("-P 4a' 2b", 1027),
    MagneticHallSymbolEntry::new("P 4a' 2b -1'", 1028),
    MagneticHallSymbolEntry::new("-P 4a 2b'", 1029),
    MagneticHallSymbolEntry::new("P 4a' 2b' -1'", 1030),
    MagneticHallSymbolEntry::new("P 4a 2b -1'", 1031),
    MagneticHallSymbolEntry::new("-P 4a 2b 1c'", 1032),
    MagneticHallSymbolEntry::new("-P 4a 2b 1ab'", 1033),
    MagneticHallSymbolEntry::new("-P 4a 2b 1abc'", 1034),
    MagneticHallSymbolEntry::new("-P 4a 2bc", 1035),
    MagneticHallSymbolEntry::new("-P 4a 2bc 1'", 1036),
    MagneticHallSymbolEntry::new("P 4a 2bc' -1'", 1037),
    MagneticHallSymbolEntry::new("-P 4a' 2bc'", 1038),
    MagneticHallSymbolEntry::new("-P 4a' 2bc", 1039),
    MagneticHallSymbolEntry::new("P 4a' 2bc -1'", 1040),
    MagneticHallSymbolEntry::new("-P 4a 2bc'", 1041),
    MagneticHallSymbolEntry::new("P 4a' 2bc' -1'", 1042),
    MagneticHallSymbolEntry::new("P 4a 2bc -1'", 1043),
    MagneticHallSymbolEntry::new("-P 4a 2bc 1c'", 1044),
    MagneticHallSymbolEntry::new("-P 4a 2bc 1ab'", 1045),
    MagneticHallSymbolEntry::new("-P 4a 2bc 1abc'", 1046),
    MagneticHallSymbolEntry::new("-P 4 2ab", 1047),
    MagneticHallSymbolEntry::new("-P 4 2ab 1'", 1048),
    MagneticHallSymbolEntry::new("P 4 2ab' -1'", 1049),
    MagneticHallSymbolEntry::new("-P 4' 2ab'", 1050),
    MagneticHallSymbolEntry::new("-P 4' 2ab", 1051),
    MagneticHallSymbolEntry::new("P 4' 2ab -1'", 1052),
    MagneticHallSymbolEntry::new("-P 4 2ab'", 1053),
    MagneticHallSymbolEntry::new("P 4' 2ab' -1'", 1054),
    MagneticHallSymbolEntry::new("P 4 2ab -1'", 1055),
    MagneticHallSymbolEntry::new("-P 4 2ab 1c'", 1056),
    MagneticHallSymbolEntry::new("-P 4 2ab 1ab'", 1057),
    MagneticHallSymbolEntry::new("-P 4 2ab 1abc'", 1058),
    MagneticHallSymbolEntry::new("-P 4 2n", 1059),
    MagneticHallSymbolEntry::new("-P 4 2n 1'", 1060),
    MagneticHallSymbolEntry::new("P 4 2n' -1'", 1061),
    MagneticHallSymbolEntry::new("-P 4' 2n'", 1062),
    MagneticHallSymbolEntry::new("-P 4' 2n", 1063),
    MagneticHallSymbolEntry::new("P 4' 2n -1'", 1064),
    MagneticHallSymbolEntry::new("-P 4 2n'", 1065),
    MagneticHallSymbolEntry::new("P 4' 2n' -1'", 1066),
    MagneticHallSymbolEntry::new("P 4 2n -1'", 1067),
    MagneticHallSymbolEntry::new("-P 4 2n 1c'", 1068),
    MagneticHallSymbolEntry::new("-P 4 2n 1ab'", 1069),
    MagneticHallSymbolEntry::new("-P 4 2n 1abc'", 1070),
    MagneticHallSymbolEntry::new("-P 4a 2a", 1071),
    MagneticHallSymbolEntry::new("-P 4a 2a 1'", 1072),
    MagneticHallSymbolEntry::new("P 4a 2a' -1'", 1073),
    MagneticHallSymbolEntry::new("-P 4a' 2a'", 1074),
    MagneticHallSymbolEntry::new("-P 4a' 2a", 1075),
    MagneticHallSymbolEntry::new("P 4a' 2a -1'", 1076),
    MagneticHallSymbolEntry::new("-P 4a 2a'", 1077),
    MagneticHallSymbolEntry::new("P 4a' 2a' -1'", 1078),
    MagneticHallSymbolEntry::new("P 4a 2a -1'", 1079),
    MagneticHallSymbolEntry::new("-P 4a 2a 1c'", 1080),
    MagneticHallSymbolEntry::new("-P 4a 2a 1ab'", 1081),
    MagneticHallSymbolEntry::new("-P 4a 2a 1abc'", 1082),
    MagneticHallSymbolEntry::new("-P 4a 2ac", 1083),
    MagneticHallSymbolEntry::new("-P 4a 2ac 1'", 1084),
    MagneticHallSymbolEntry::new("P 4a 2ac' -1'", 1085),
    MagneticHallSymbolEntry::new("-P 4a' 2ac'", 1086),
    MagneticHallSymbolEntry::new("-P 4a' 2ac", 1087),
    MagneticHallSymbolEntry::new("P 4a' 2ac -1'", 1088),
    MagneticHallSymbolEntry::new("-P 4a 2ac'", 1089),
    MagneticHallSymbolEntry::new("P 4a' 2ac' -1'", 1090),
    MagneticHallSymbolEntry::new("P 4a 2ac -1'", 1091),
    MagneticHallSymbolEntry::new("-P 4a 2ac 1c'", 1092),
    MagneticHallSymbolEntry::new("-P 4a 2ac 1ab'", 1093),
    MagneticHallSymbolEntry::new("-P 4a 2ac 1abc'", 1094),
    MagneticHallSymbolEntry::new("-P 4c 2", 1095),
    MagneticHallSymbolEntry::new("-P 4c 2 1'", 1096),
    MagneticHallSymbolEntry::new("P 4c 2' -1'", 1097),
    MagneticHallSymbolEntry::new("-P 4c' 2'", 1098),
    MagneticHallSymbolEntry::new("-P 4c' 2", 1099),
    MagneticHallSymbolEntry::new("P 4c' 2 -1'", 1100),
    MagneticHallSymbolEntry::new("-P 4c 2'", 1101),
    MagneticHallSymbolEntry::new("P 4c' 2' -1'", 1102),
    MagneticHallSymbolEntry::new("P 4c 2 -1'", 1103),
    MagneticHallSymbolEntry::new("-P 4c 2 1c'", 1104),
    MagneticHallSymbolEntry::new("-P 4c 2 1ab'", 1105),
    MagneticHallSymbolEntry::new("-P 4c 2 1abc'", 1106),
    MagneticHallSymbolEntry::new("-P 4c 2c", 1107),
    MagneticHallSymbolEntry::new("-P 4c 2c 1'", 1108),
    MagneticHallSymbolEntry::new("P 4c 2c' -1'", 1109),
    MagneticHallSymbolEntry::new("-P 4c' 2c'", 1110),
    MagneticHallSymbolEntry::new("-P 4c' 2c", 1111),
    MagneticHallSymbolEntry::new("P 4c' 2c -1'", 1112),
    MagneticHallSymbolEntry::new("-P 4c 2c'", 1113),
    MagneticHallSymbolEntry::new("P 4c' 2c' -1'", 1114),
    MagneticHallSymbolEntry::new("P 4c 2c -1'", 1115),
    MagneticHallSymbolEntry::new("-P 4c 2c 1c'", 1116),
    MagneticHallSymbolEntry::new("-P 4c 2c 1ab'", 1117),
    MagneticHallSymbolEntry::new("-P 4c 2c 1abc'", 1118),
    MagneticHallSymbolEntry::new("-P 4ac 2b", 1119),
    MagneticHallSymbolEntry::new("-P 4ac 2b 1'", 1120),
    MagneticHallSymbolEntry::new("P 4ac 2b' -1'", 1121),
    MagneticHallSymbolEntry::new("-P 4ac' 2b'", 1122),
    MagneticHallSymbolEntry::new("-P 4ac' 2b", 1123),
    MagneticHallSymbolEntry::new("P 4ac' 2b -1'", 1124),
    MagneticHallSymbolEntry::new("-P 4ac 2b'", 1125),
    MagneticHallSymbolEntry::new("P 4ac' 2b' -1'", 1126),
    MagneticHallSymbolEntry::new("P 4ac 2b -1'", 1127),
    MagneticHallSymbolEntry::new("-P 4ac 2b 1c'", 1128),
    MagneticHallSymbolEntry::new("-P 4ac 2b 1ab'", 1129),
    MagneticHallSymbolEntry::new("-P 4ac 2b 1abc'", 1130),
    MagneticHallSymbolEntry::new("-P 4ac 2bc", 1131),
    MagneticHallSymbolEntry::new("-P 4ac 2bc 1'", 1132),
    MagneticHallSymbolEntry::new("P 4ac 2bc' -1'", 1133),
    MagneticHallSymbolEntry::new("-P 4ac' 2bc'", 1134),
    MagneticHallSymbolEntry::new("-P 4ac' 2bc", 1135),
    MagneticHallSymbolEntry::new("P 4ac' 2bc -1'", 1136),
    MagneticHallSymbolEntry::new("-P 4ac 2bc'", 1137),
    MagneticHallSymbolEntry::new("P 4ac' 2bc' -1'", 1138),
    MagneticHallSymbolEntry::new("P 4ac 2bc -1'", 1139),
    MagneticHallSymbolEntry::new("-P 4ac 2bc 1c'", 1140),
    MagneticHallSymbolEntry::new("-P 4ac 2bc 1ab'", 1141),
    MagneticHallSymbolEntry::new("-P 4ac 2bc 1abc'", 1142),
    MagneticHallSymbolEntry::new("-P 4c 2ab", 1143),
    MagneticHallSymbolEntry::new("-P 4c 2ab 1'", 1144),
    MagneticHallSymbolEntry::new("P 4c 2ab' -1'", 1145),
    MagneticHallSymbolEntry::new("-P 4c' 2ab'", 1146),
    MagneticHallSymbolEntry::new("-P 4c' 2ab", 1147),
    MagneticHallSymbolEntry::new("P 4c' 2ab -1'", 1148),
    MagneticHallSymbolEntry::new("-P 4c 2ab'", 1149),
    MagneticHallSymbolEntry::new("P 4c' 2ab' -1'", 1150),
    MagneticHallSymbolEntry::new("P 4c 2ab -1'", 1151),
    MagneticHallSymbolEntry::new("-P 4c 2ab 1c'", 1152),
    MagneticHallSymbolEntry::new("-P 4c 2ab 1ab'", 1153),
    MagneticHallSymbolEntry::new("-P 4c 2ab 1abc'", 1154),
    MagneticHallSymbolEntry::new("-P 4n 2n", 1155),
    MagneticHallSymbolEntry::new("-P 4n 2n 1'", 1156),
    MagneticHallSymbolEntry::new("P 4n 2n' -1'", 1157),
    MagneticHallSymbolEntry::new("-P 4n' 2n'", 1158),
    MagneticHallSymbolEntry::new("-P 4n' 2n", 1159),
    MagneticHallSymbolEntry::new("P 4n' 2n -1'", 1160),
    MagneticHallSymbolEntry::new("-P 4n 2n'", 1161),
    MagneticHallSymbolEntry::new("P 4n' 2n' -1'", 1162),
    MagneticHallSymbolEntry::new("P 4n 2n -1'", 1163),
    MagneticHallSymbolEntry::new("-P 4n 2n 1c'", 1164),
    MagneticHallSymbolEntry::new("-P 4n 2n 1ab'", 1165),
    MagneticHallSymbolEntry::new("-P 4n 2n 1abc'", 1166),
    MagneticHallSymbolEntry::new("-P 4ac 2a", 1167),
    MagneticHallSymbolEntry::new("-P 4ac 2a 1'", 1168),
    MagneticHallSymbolEntry::new("P 4ac 2a' -1'", 1169),
    MagneticHallSymbolEntry::new("-P 4ac' 2a'", 1170),
    MagneticHallSymbolEntry::new("-P 4ac' 2a", 1171),
    MagneticHallSymbolEntry::new("P 4ac' 2a -1'", 1172),
    MagneticHallSymbolEntry::new("-P 4ac 2a'", 1173),
    MagneticHallSymbolEntry::new("P 4ac' 2a' -1'", 1174),
    MagneticHallSymbolEntry::new("P 4ac 2a -1'", 1175),
    MagneticHallSymbolEntry::new("-P 4ac 2a 1c'", 1176),
    MagneticHallSymbolEntry::new("-P 4ac 2a 1ab'", 1177),
    MagneticHallSymbolEntry::new("-P 4ac 2a 1abc'", 1178),
    MagneticHallSymbolEntry::new("-P 4ac 2ac", 1179),
    MagneticHallSymbolEntry::new("-P 4ac 2ac 1'", 1180),
    MagneticHallSymbolEntry::new("P 4ac 2ac' -1'", 1181),
    MagneticHallSymbolEntry::new("-P 4ac' 2ac'", 1182),
    MagneticHallSymbolEntry::new("-P 4ac' 2ac", 1183),
    MagneticHallSymbolEntry::new("P 4ac' 2ac -1'", 1184),
    MagneticHallSymbolEntry::new("-P 4ac 2ac'", 1185),
    MagneticHallSymbolEntry::new("P 4ac' 2ac' -1'", 1186),
    MagneticHallSymbolEntry::new("P 4ac 2ac -1'", 1187),
    MagneticHallSymbolEntry::new("-P 4ac 2ac 1c'", 1188),
    MagneticHallSymbolEntry::new("-P 4ac 2ac 1ab'", 1189),
    MagneticHallSymbolEntry::new("-P 4ac 2ac 1abc'", 1190),
    MagneticHallSymbolEntry::new("-I 4 2", 1191),
    MagneticHallSymbolEntry::new("-I 4 2 1'", 1192),
    MagneticHallSymbolEntry::new("I 4 2' -1'", 1193),
    MagneticHallSymbolEntry::new("-I 4' 2'", 1194),
    MagneticHallSymbolEntry::new("-I 4' 2", 1195),
    MagneticHallSymbolEntry::new("I 4' 2 -1'", 1196),
    MagneticHallSymbolEntry::new("-I 4 2'", 1197),
    MagneticHallSymbolEntry::new("I 4' 2' -1'", 1198),
    MagneticHallSymbolEntry::new("I 4 2 -1'", 1199),
    MagneticHallSymbolEntry::new("-I 4 2 1c'", 1200),
    MagneticHallSymbolEntry::new("-I 4 2c", 1201),
    MagneticHallSymbolEntry::new("-I 4 2c 1'", 1202),
    MagneticHallSymbolEntry::new("I 4 2c' -1'", 1203),
    MagneticHallSymbolEntry::new("-I 4' 2c'", 1204),
    MagneticHallSymbolEntry::new("-I 4' 2c", 1205),
    MagneticHallSymbolEntry::new("I 4' 2c -1'", 1206),
    MagneticHallSymbolEntry::new("-I 4 2c'", 1207),
    MagneticHallSymbolEntry::new("I 4' 2c' -1'", 1208),
    MagneticHallSymbolEntry::new("I 4 2c -1'", 1209),
    MagneticHallSymbolEntry::new("-I 4 2c 1c'", 1210),
    MagneticHallSymbolEntry::new("-I 4bd 2", 1211),
    MagneticHallSymbolEntry::new("-I 4bd 2 1'", 1212),
    MagneticHallSymbolEntry::new("I 4bd 2' -1'", 1213),
    MagneticHallSymbolEntry::new("-I 4bd' 2'", 1214),
    MagneticHallSymbolEntry::new("-I 4bd' 2", 1215),
    MagneticHallSymbolEntry::new("I 4bd' 2 -1'", 1216),
    MagneticHallSymbolEntry::new("-I 4bd 2'", 1217),
    MagneticHallSymbolEntry::new("I 4bd' 2' -1'", 1218),
    MagneticHallSymbolEntry::new("I 4bd 2 -1'", 1219),
    MagneticHallSymbolEntry::new("-I 4bd 2 1c'", 1220),
    MagneticHallSymbolEntry::new("-I 4bd 2c", 1221),
    MagneticHallSymbolEntry::new("-I 4bd 2c 1'", 1222),
    MagneticHallSymbolEntry::new("I 4bd 2c' -1'", 1223),
    MagneticHallSymbolEntry::new("-I 4bd' 2c'", 1224),
    MagneticHallSymbolEntry::new("-I 4bd' 2c", 1225),
    MagneticHallSymbolEntry::new("I 4bd' 2c -1'", 1226),
    MagneticHallSymbolEntry::new("-I 4bd 2c'", 1227),
    MagneticHallSymbolEntry::new("I 4bd' 2c' -1'", 1228),
    MagneticHallSymbolEntry::new("I 4bd 2c -1'", 1229),
    MagneticHallSymbolEntry::new("-I 4bd 2c 1c'", 1230),
    MagneticHallSymbolEntry::new("P 3", 1231),
    MagneticHallSymbolEntry::new("P 3 1'", 1232),
    MagneticHallSymbolEntry::new("P 3 1c'", 1233),
    MagneticHallSymbolEntry::new("P 31", 1234),
    MagneticHallSymbolEntry::new("P 31 1'", 1235),
    MagneticHallSymbolEntry::new("P 31 1c'", 1236),
    MagneticHallSymbolEntry::new("P 32", 1237),
    MagneticHallSymbolEntry::new("P 32 1'", 1238),
    MagneticHallSymbolEntry::new("P 32 1c'", 1239),
    MagneticHallSymbolEntry::new("R 3", 1240),
    MagneticHallSymbolEntry::new("R 3 1'", 1241),
    MagneticHallSymbolEntry::new("R 3 1c'", 1242),
    MagneticHallSymbolEntry::new("-P 3", 1243),
    MagneticHallSymbolEntry::new("-P 3 1'", 1244),
    MagneticHallSymbolEntry::new("P 3 -1'", 1245),
    MagneticHallSymbolEntry::new("-P 3 1c'", 1246),
    MagneticHallSymbolEntry::new("-R 3", 1247),
    MagneticHallSymbolEntry::new("-R 3 1'", 1248),
    MagneticHallSymbolEntry::new("R 3 -1'", 1249),
    MagneticHallSymbolEntry::new("-R 3 1c'", 1250),
    MagneticHallSymbolEntry::new("P 3 2", 1251),
    MagneticHallSymbolEntry::new("P 3 2 1'", 1252),
    MagneticHallSymbolEntry::new("P 3 2'", 1253),
    MagneticHallSymbolEntry::new("P 3 2 1c'", 1254),
    MagneticHallSymbolEntry::new("P 3 2=", 1255),
    MagneticHallSymbolEntry::new("P 3 2= 1'", 1256),
    MagneticHallSymbolEntry::new("P 3 2='", 1257),
    MagneticHallSymbolEntry::new("P 3 2= 1c'", 1258),
    MagneticHallSymbolEntry::new("P 31 2 (0 0 4)", 1259),
    MagneticHallSymbolEntry::new("P 31 2 1' (0 0 4)", 1260),
    MagneticHallSymbolEntry::new("P 31 2' (0 0 4)", 1261),
    MagneticHallSymbolEntry::new("P 31 2 1c' (0 0 4)", 1262),
    MagneticHallSymbolEntry::new("P 31 2=", 1263),
    MagneticHallSymbolEntry::new("P 31 2= 1'", 1264),
    MagneticHallSymbolEntry::new("P 31 2='", 1265),
    MagneticHallSymbolEntry::new("P 31 2= 1c'", 1266),
    MagneticHallSymbolEntry::new("P 32 2 (0 0 2)", 1267),
    MagneticHallSymbolEntry::new("P 32 2 1' (0 0 2)", 1268),
    MagneticHallSymbolEntry::new("P 32 2' (0 0 2)", 1269),
    MagneticHallSymbolEntry::new("P 32 2 1c' (0 0 2)", 1270),
    MagneticHallSymbolEntry::new("P 32 2=", 1271),
    MagneticHallSymbolEntry::new("P 32 2= 1'", 1272),
    MagneticHallSymbolEntry::new("P 32 2='", 1273),
    MagneticHallSymbolEntry::new("P 32 2= 1c'", 1274),
    MagneticHallSymbolEntry::new("R 3 2=", 1275),
    MagneticHallSymbolEntry::new("R 3 2= 1'", 1276),
    MagneticHallSymbolEntry::new("R 3 2='", 1277),
    MagneticHallSymbolEntry::new("R 3 2= 1c'", 1278),
    MagneticHallSymbolEntry::new("P 3 -2=", 1279),
    MagneticHallSymbolEntry::new("P 3 -2= 1'", 1280),
    MagneticHallSymbolEntry::new("P 3 -2='", 1281),
    MagneticHallSymbolEntry::new("P 3 -2= 1c'", 1282),
    MagneticHallSymbolEntry::new("P 3 -2", 1283),
    MagneticHallSymbolEntry::new("P 3 -2 1'", 1284),
    MagneticHallSymbolEntry::new("P 3 -2'", 1285),
    MagneticHallSymbolEntry::new("P 3 -2 1c'", 1286),
    MagneticHallSymbolEntry::new("P 3 -2=c", 1287),
    MagneticHallSymbolEntry::new("P 3 -2=c 1'", 1288),
    MagneticHallSymbolEntry::new("P 3 -2=c'", 1289),
    MagneticHallSymbolEntry::new("P 3 -2=c 1c'", 1290),
    MagneticHallSymbolEntry::new("P 3 -2c", 1291),
    MagneticHallSymbolEntry::new("P 3 -2c 1'", 1292),
    MagneticHallSymbolEntry::new("P 3 -2c'", 1293),
    MagneticHallSymbolEntry::new("P 3 -2c 1c'", 1294),
    MagneticHallSymbolEntry::new("R 3 -2=", 1295),
    MagneticHallSymbolEntry::new("R 3 -2= 1'", 1296),
    MagneticHallSymbolEntry::new("R 3 -2='", 1297),
    MagneticHallSymbolEntry::new("R 3 -2= 1c'", 1298),
    MagneticHallSymbolEntry::new("R 3 -2=c", 1299),
    MagneticHallSymbolEntry::new("R 3 -2=c 1'", 1300),
    MagneticHallSymbolEntry::new("R 3 -2=c'", 1301),
    MagneticHallSymbolEntry::new("R 3 -2=c 1c'", 1302),
    MagneticHallSymbolEntry::new("-P 3 2", 1303),
    MagneticHallSymbolEntry::new("-P 3 2 1'", 1304),
    MagneticHallSymbolEntry::new("P 3 2' -1'", 1305),
    MagneticHallSymbolEntry::new("P 3 2 -1'", 1306),
    MagneticHallSymbolEntry::new("-P 3 2'", 1307),
    MagneticHallSymbolEntry::new("-P 3 2 1c'", 1308),
    MagneticHallSymbolEntry::new("-P 3 2c", 1309),
    MagneticHallSymbolEntry::new("-P 3 2c 1'", 1310),
    MagneticHallSymbolEntry::new("P 3 2c' -1'", 1311),
    MagneticHallSymbolEntry::new("P 3 2c -1'", 1312),
    MagneticHallSymbolEntry::new("-P 3 2c'", 1313),
    MagneticHallSymbolEntry::new("-P 3 2c 1c'", 1314),
    MagneticHallSymbolEntry::new("-P 3 2=", 1315),
    MagneticHallSymbolEntry::new("-P 3 2= 1'", 1316),
    MagneticHallSymbolEntry::new("P 3 2=' -1'", 1317),
    MagneticHallSymbolEntry::new("P 3 2= -1'", 1318),
    MagneticHallSymbolEntry::new("-P 3 2='", 1319),
    MagneticHallSymbolEntry::new("-P 3 2= 1c'", 1320),
    MagneticHallSymbolEntry::new("-P 3 2=c", 1321),
    MagneticHallSymbolEntry::new("-P 3 2=c 1'", 1322),
    MagneticHallSymbolEntry::new("P 3 2=c' -1'", 1323),
    MagneticHallSymbolEntry::new("P 3 2=c -1'", 1324),
    MagneticHallSymbolEntry::new("-P 3 2=c'", 1325),
    MagneticHallSymbolEntry::new("-P 3 2=c 1c'", 1326),
    MagneticHallSymbolEntry::new("-R 3 2=", 1327),
    MagneticHallSymbolEntry::new("-R 3 2= 1'", 1328),
    MagneticHallSymbolEntry::new("R 3 2=' -1'", 1329),
    MagneticHallSymbolEntry::new("R 3 2= -1'", 1330),
    MagneticHallSymbolEntry::new("-R 3 2='", 1331),
    MagneticHallSymbolEntry::new("-R 3 2= 1c'", 1332),
    MagneticHallSymbolEntry::new("-R 3 2=c", 1333),
    MagneticHallSymbolEntry::new("-R 3 2=c 1'", 1334),
    MagneticHallSymbolEntry::new("R 3 2=c' -1'", 1335),
    MagneticHallSymbolEntry::new("R 3 2=c -1'", 1336),
    MagneticHallSymbolEntry::new("-R 3 2=c'", 1337),
    MagneticHallSymbolEntry::new("-R 3 2=c 1c'", 1338),
    MagneticHallSymbolEntry::new("P 6", 1339),
    MagneticHallSymbolEntry::new("P 6 1'", 1340),
    MagneticHallSymbolEntry::new("P 6'", 1341),
    MagneticHallSymbolEntry::new("P 6 1c'", 1342),
    MagneticHallSymbolEntry::new("P 61", 1343),
    MagneticHallSymbolEntry::new("P 61 1'", 1344),
    MagneticHallSymbolEntry::new("P 61'", 1345),
    MagneticHallSymbolEntry::new("P 61 1c'", 1346),
    MagneticHallSymbolEntry::new("P 65", 1347),
    MagneticHallSymbolEntry::new("P 65 1'", 1348),
    MagneticHallSymbolEntry::new("P 65'", 1349),
    MagneticHallSymbolEntry::new("P 65 1c'", 1350),
    MagneticHallSymbolEntry::new("P 62", 1351),
    MagneticHallSymbolEntry::new("P 62 1'", 1352),
    MagneticHallSymbolEntry::new("P 62'", 1353),
    MagneticHallSymbolEntry::new("P 62 1c'", 1354),
    MagneticHallSymbolEntry::new("P 64", 1355),
    MagneticHallSymbolEntry::new("P 64 1'", 1356),
    MagneticHallSymbolEntry::new("P 64'", 1357),
    MagneticHallSymbolEntry::new("P 64 1c'", 1358),
    MagneticHallSymbolEntry::new("P 6c", 1359),
    MagneticHallSymbolEntry::new("P 6c 1'", 1360),
    MagneticHallSymbolEntry::new("P 6c'", 1361),
    MagneticHallSymbolEntry::new("P 6c 1c'", 1362),
    MagneticHallSymbolEntry::new("P -6", 1363),
    MagneticHallSymbolEntry::new("P -6 1'", 1364),
    MagneticHallSymbolEntry::new("P -6'", 1365),
    MagneticHallSymbolEntry::new("P -6 1c'", 1366),
    MagneticHallSymbolEntry::new("-P 6", 1367),
    MagneticHallSymbolEntry::new("-P 6 1'", 1368),
    MagneticHallSymbolEntry::new("P 6' -1'", 1369),
    MagneticHallSymbolEntry::new("P 6 -1'", 1370),
    MagneticHallSymbolEntry::new("-P 6'", 1371),
    MagneticHallSymbolEntry::new("-P 6 1c'", 1372),
    MagneticHallSymbolEntry::new("-P 6c", 1373),
    MagneticHallSymbolEntry::new("-P 6c 1'", 1374),
    MagneticHallSymbolEntry::new("P 6c' -1'", 1375),
    MagneticHallSymbolEntry::new("P 6c -1'", 1376),
    MagneticHallSymbolEntry::new("-P 6c'", 1377),
    MagneticHallSymbolEntry::new("-P 6c 1c'", 1378),
    MagneticHallSymbolEntry::new("P 6 2", 1379),
    MagneticHallSymbolEntry::new("P 6 2 1'", 1380),
    MagneticHallSymbolEntry::new("P 6' 2", 1381),
    MagneticHallSymbolEntry::new("P 6' 2'", 1382),
    MagneticHallSymbolEntry::new("P 6 2'", 1383),
    MagneticHallSymbolEntry::new("P 6 2 1c'", 1384),
    MagneticHallSymbolEntry::new("P 61 2 (0 0 5)", 1385),
    MagneticHallSymbolEntry::new("P 61 2 1' (0 0 5)", 1386),
    MagneticHallSymbolEntry::new("P 61' 2 (0 0 5)", 1387),
    MagneticHallSymbolEntry::new("P 61' 2' (0 0 5)", 1388),
    MagneticHallSymbolEntry::new("P 61 2' (0 0 5)", 1389),
    MagneticHallSymbolEntry::new("P 61 2 1c' (0 0 5)", 1390),
    MagneticHallSymbolEntry::new("P 65 2 (0 0 1)", 1391),
    MagneticHallSymbolEntry::new("P 65 2 1' (0 0 1)", 1392),
    MagneticHallSymbolEntry::new("P 65' 2 (0 0 1)", 1393),
    MagneticHallSymbolEntry::new("P 65' 2' (0 0 1)", 1394),
    MagneticHallSymbolEntry::new("P 65 2' (0 0 1)", 1395),
    MagneticHallSymbolEntry::new("P 65 2 1c' (0 0 1)", 1396),
    MagneticHallSymbolEntry::new("P 62 2 (0 0 4)", 1397),
    MagneticHallSymbolEntry::new("P 62 2 1' (0 0 4)", 1398),
    MagneticHallSymbolEntry::new("P 62' 2 (0 0 4)", 1399),
    MagneticHallSymbolEntry::new("P 62' 2' (0 0 4)", 1400),
    MagneticHallSymbolEntry::new("P 62 2' (0 0 4)", 1401),
    MagneticHallSymbolEntry::new("P 62 2 1c' (0 0 4)", 1402),
    MagneticHallSymbolEntry::new("P 64 2 (0 0 2)", 1403),
    MagneticHallSymbolEntry::new("P 64 2 1' (0 0 2)", 1404),
    MagneticHallSymbolEntry::new("P 64' 2 (0 0 2)", 1405),
    MagneticHallSymbolEntry::new("P 64' 2' (0 0 2)", 1406),
    MagneticHallSymbolEntry::new("P 64 2' (0 0 2)", 1407),
    MagneticHallSymbolEntry::new("P 64 2 1c' (0 0 2)", 1408),
    MagneticHallSymbolEntry::new("P 6c 2c", 1409),
    MagneticHallSymbolEntry::new("P 6c 2c 1'", 1410),
    MagneticHallSymbolEntry::new("P 6c' 2c", 1411),
    MagneticHallSymbolEntry::new("P 6c' 2c'", 1412),
    MagneticHallSymbolEntry::new("P 6c 2c'", 1413),
    MagneticHallSymbolEntry::new("P 6c 2c 1c'", 1414),
    MagneticHallSymbolEntry::new("P 6 -2", 1415),
    MagneticHallSymbolEntry::new("P 6 -2 1'", 1416),
    MagneticHallSymbolEntry::new("P 6' -2", 1417),
    MagneticHallSymbolEntry::new("P 6' -2'", 1418),
    MagneticHallSymbolEntry::new("P 6 -2'", 1419),
    MagneticHallSymbolEntry::new("P 6 -2 1c'", 1420),
    MagneticHallSymbolEntry::new("P 6 -2c", 1421),
    MagneticHallSymbolEntry::new("P 6 -2c 1'", 1422),
    MagneticHallSymbolEntry::new("P 6' -2c", 1423),
    MagneticHallSymbolEntry::new("P 6' -2c'", 1424),
    MagneticHallSymbolEntry::new("P 6 -2c'", 1425),
    MagneticHallSymbolEntry::new("P 6 -2c 1c'", 1426),
    MagneticHallSymbolEntry::new("P 6c -2", 1427),
    MagneticHallSymbolEntry::new("P 6c -2 1'", 1428),
    MagneticHallSymbolEntry::new("P 6c' -2", 1429),
    MagneticHallSymbolEntry::new("P 6c' -2'", 1430),
    MagneticHallSymbolEntry::new("P 6c -2'", 1431),
    MagneticHallSymbolEntry::new("P 6c -2 1c'", 1432),
    MagneticHallSymbolEntry::new("P 6c -2c", 1433),
    MagneticHallSymbolEntry::new("P 6c -2c 1'", 1434),
    MagneticHallSymbolEntry::new("P 6c' -2c", 1435),
    MagneticHallSymbolEntry::new("P 6c' -2c'", 1436),
    MagneticHallSymbolEntry::new("P 6c -2c'", 1437),
    MagneticHallSymbolEntry::new("P 6c -2c 1c'", 1438),
    MagneticHallSymbolEntry::new("P -6 2", 1439),
    MagneticHallSymbolEntry::new("P -6 2 1'", 1440),
    MagneticHallSymbolEntry::new("P -6' 2", 1441),
    MagneticHallSymbolEntry::new("P -6' 2'", 1442),
    MagneticHallSymbolEntry::new("P -6 2'", 1443),
    MagneticHallSymbolEntry::new("P -6 2 1c'", 1444),
    MagneticHallSymbolEntry::new("P -6c 2", 1445),
    MagneticHallSymbolEntry::new("P -6c 2 1'", 1446),
    MagneticHallSymbolEntry::new("P -6c' 2", 1447),
    MagneticHallSymbolEntry::new("P -6c' 2'", 1448),
    MagneticHallSymbolEntry::new("P -6c 2'", 1449),
    MagneticHallSymbolEntry::new("P -6c 2 1c'", 1450),
    MagneticHallSymbolEntry::new("P -6 -2", 1451),
    MagneticHallSymbolEntry::new("P -6 -2 1'", 1452),
    MagneticHallSymbolEntry::new("P -6' -2", 1453),
    MagneticHallSymbolEntry::new("P -6' -2'", 1454),
    MagneticHallSymbolEntry::new("P -6 -2'", 1455),
    MagneticHallSymbolEntry::new("P -6 -2 1c'", 1456),
    MagneticHallSymbolEntry::new("P -6c -2c", 1457),
    MagneticHallSymbolEntry::new("P -6c -2c 1'", 1458),
    MagneticHallSymbolEntry::new("P -6c' -2c", 1459),
    MagneticHallSymbolEntry::new("P -6c' -2c'", 1460),
    MagneticHallSymbolEntry::new("P -6c -2c'", 1461),
    MagneticHallSymbolEntry::new("P -6c -2c 1c'", 1462),
    MagneticHallSymbolEntry::new("-P 6 2", 1463),
    MagneticHallSymbolEntry::new("-P 6 2 1'", 1464),
    MagneticHallSymbolEntry::new("P 6 2' -1'", 1465),
    MagneticHallSymbolEntry::new("P 6' 2' -1'", 1466),
    MagneticHallSymbolEntry::new("P 6' 2 -1'", 1467),
    MagneticHallSymbolEntry::new("-P 6' 2", 1468),
    MagneticHallSymbolEntry::new("-P 6' 2'", 1469),
    MagneticHallSymbolEntry::new("-P 6 2'", 1470),
    MagneticHallSymbolEntry::new("P 6 2 -1'", 1471),
    MagneticHallSymbolEntry::new("-P 6 2 1c'", 1472),
    MagneticHallSymbolEntry::new("-P 6 2c", 1473),
    MagneticHallSymbolEntry::new("-P 6 2c 1'", 1474),
    MagneticHallSymbolEntry::new("P 6 2c' -1'", 1475),
    MagneticHallSymbolEntry::new("P 6' 2c' -1'", 1476),
    MagneticHallSymbolEntry::new("P 6' 2c -1'", 1477),
    MagneticHallSymbolEntry::new("-P 6' 2c", 1478),
    MagneticHallSymbolEntry::new("-P 6' 2c'", 1479),
    MagneticHallSymbolEntry::new("-P 6 2c'", 1480),
    MagneticHallSymbolEntry::new("P 6 2c -1'", 1481),
    MagneticHallSymbolEntry::new("-P 6 2c 1c'", 1482),
    MagneticHallSymbolEntry::new("-P 6c 2", 1483),
    MagneticHallSymbolEntry::new("-P 6c 2 1'", 1484),
    MagneticHallSymbolEntry::new("P 6c 2' -1'", 1485),
    MagneticHallSymbolEntry::new("P 6c' 2' -1'", 1486),
    MagneticHallSymbolEntry::new("P 6c' 2 -1'", 1487),
    MagneticHallSymbolEntry::new("-P 6c' 2", 1488),
    MagneticHallSymbolEntry::new("-P 6c' 2'", 1489),
    MagneticHallSymbolEntry::new("-P 6c 2'", 1490),
    MagneticHallSymbolEntry::new("P 6c 2 -1'", 1491),
    MagneticHallSymbolEntry::new("-P 6c 2 1c'", 1492),
    MagneticHallSymbolEntry::new("-P 6c 2c", 1493),
    MagneticHallSymbolEntry::new("-P 6c 2c 1'", 1494),
    MagneticHallSymbolEntry::new("P 6c 2c' -1'", 1495),
    MagneticHallSymbolEntry::new("P 6c' 2c' -1'", 1496),
    MagneticHallSymbolEntry::new("P 6c' 2c -1'", 1497),
    MagneticHallSymbolEntry::new("-P 6c' 2c", 1498),
    MagneticHallSymbolEntry::new("-P 6c' 2c'", 1499),
    MagneticHallSymbolEntry::new("-P 6c 2c'", 1500),
    MagneticHallSymbolEntry::new("P 6c 2c -1'", 1501),
    MagneticHallSymbolEntry::new("-P 6c 2c 1c'", 1502),
    MagneticHallSymbolEntry::new("P 2 2 3", 1503),
    MagneticHallSymbolEntry::new("P 2 2 3 1'", 1504),
    MagneticHallSymbolEntry::new("P 2 2 3 1abc'", 1505),
    MagneticHallSymbolEntry::new("F 2 2 3", 1506),
    MagneticHallSymbolEntry::new("F 2 2 3 1'", 1507),
    MagneticHallSymbolEntry::new("F 2 2 3 1abc'", 1508),
    MagneticHallSymbolEntry::new("I 2 2 3", 1509),
    MagneticHallSymbolEntry::new("I 2 2 3 1'", 1510),
    MagneticHallSymbolEntry::new("P 2ac 2ab 3", 1511),
    MagneticHallSymbolEntry::new("P 2ac 2ab 3 1'", 1512),
    MagneticHallSymbolEntry::new("P 2ac 2ab 3 1abc'", 1513),
    MagneticHallSymbolEntry::new("I 2b 2c 3", 1514),
    MagneticHallSymbolEntry::new("I 2b 2c 3 1'", 1515),
    MagneticHallSymbolEntry::new("-P 2 2 3", 1516),
    MagneticHallSymbolEntry::new("-P 2 2 3 1'", 1517),
    MagneticHallSymbolEntry::new("P 2 2 3 -1'", 1518),
    MagneticHallSymbolEntry::new("-P 2 2 3 1abc'", 1519),
    MagneticHallSymbolEntry::new("-P 2ab 2bc 3", 1520),
    MagneticHallSymbolEntry::new("-P 2ab 2bc 3 1'", 1521),
    MagneticHallSymbolEntry::new("P 2ab 2bc 3 -1'", 1522),
    MagneticHallSymbolEntry::new("-P 2ab 2bc 3 1abc'", 1523),
    MagneticHallSymbolEntry::new("-F 2 2 3", 1524),
    MagneticHallSymbolEntry::new("-F 2 2 3 1'", 1525),
    MagneticHallSymbolEntry::new("F 2 2 3 -1'", 1526),
    MagneticHallSymbolEntry::new("-F 2 2 3 1abc'", 1527),
    MagneticHallSymbolEntry::new("-F 2uv 2vw 3", 1528),
    MagneticHallSymbolEntry::new("-F 2uv 2vw 3 1'", 1529),
    MagneticHallSymbolEntry::new("F 2uv 2vw 3 -1'", 1530),
    MagneticHallSymbolEntry::new("-F 2uv 2vw 3 1abc'", 1531),
    MagneticHallSymbolEntry::new("-I 2 2 3", 1532),
    MagneticHallSymbolEntry::new("-I 2 2 3 1'", 1533),
    MagneticHallSymbolEntry::new("I 2 2 3 -1'", 1534),
    MagneticHallSymbolEntry::new("-P 2ac 2ab 3", 1535),
    MagneticHallSymbolEntry::new("-P 2ac 2ab 3 1'", 1536),
    MagneticHallSymbolEntry::new("P 2ac 2ab 3 -1'", 1537),
    MagneticHallSymbolEntry::new("-P 2ac 2ab 3 1abc'", 1538),
    MagneticHallSymbolEntry::new("-I 2b 2c 3", 1539),
    MagneticHallSymbolEntry::new("-I 2b 2c 3 1'", 1540),
    MagneticHallSymbolEntry::new("I 2b 2c 3 -1'", 1541),
    MagneticHallSymbolEntry::new("P 4 2 3", 1542),
    MagneticHallSymbolEntry::new("P 4 2 3 1'", 1543),
    MagneticHallSymbolEntry::new("P 4' 2 3", 1544),
    MagneticHallSymbolEntry::new("P 4 2 3 1abc'", 1545),
    MagneticHallSymbolEntry::new("P 4n 2 3", 1546),
    MagneticHallSymbolEntry::new("P 4n 2 3 1'", 1547),
    MagneticHallSymbolEntry::new("P 4n' 2 3", 1548),
    MagneticHallSymbolEntry::new("P 4n 2 3 1abc'", 1549),
    MagneticHallSymbolEntry::new("F 4 2 3", 1550),
    MagneticHallSymbolEntry::new("F 4 2 3 1'", 1551),
    MagneticHallSymbolEntry::new("F 4' 2 3", 1552),
    MagneticHallSymbolEntry::new("F 4 2 3 1abc'", 1553),
    MagneticHallSymbolEntry::new("F 4d 2 3", 1554),
    MagneticHallSymbolEntry::new("F 4d 2 3 1'", 1555),
    MagneticHallSymbolEntry::new("F 4d' 2 3", 1556),
    MagneticHallSymbolEntry::new("F 4d 2 3 1abc'", 1557),
    MagneticHallSymbolEntry::new("I 4 2 3", 1558),
    MagneticHallSymbolEntry::new("I 4 2 3 1'", 1559),
    MagneticHallSymbolEntry::new("I 4' 2 3", 1560),
    MagneticHallSymbolEntry::new("P 4acd 2ab 3", 1561),
    MagneticHallSymbolEntry::new("P 4acd 2ab 3 1'", 1562),
    MagneticHallSymbolEntry::new("P 4acd' 2ab 3", 1563),
    MagneticHallSymbolEntry::new("P 4acd 2ab 3 1abc'", 1564),
    MagneticHallSymbolEntry::new("P 4bd 2ab 3", 1565),
    MagneticHallSymbolEntry::new("P 4bd 2ab 3 1'", 1566),
    MagneticHallSymbolEntry::new("P 4bd' 2ab 3", 1567),
    MagneticHallSymbolEntry::new("P 4bd 2ab 3 1abc'", 1568),
    MagneticHallSymbolEntry::new("I 4bd 2c 3", 1569),
    MagneticHallSymbolEntry::new("I 4bd 2c 3 1'", 1570),
    MagneticHallSymbolEntry::new("I 4bd' 2c 3", 1571),
    MagneticHallSymbolEntry::new("P -4 2 3", 1572),
    MagneticHallSymbolEntry::new("P -4 2 3 1'", 1573),
    MagneticHallSymbolEntry::new("P -4' 2 3", 1574),
    MagneticHallSymbolEntry::new("P -4 2 3 1abc'", 1575),
    MagneticHallSymbolEntry::new("F -4 2 3", 1576),
    MagneticHallSymbolEntry::new("F -4 2 3 1'", 1577),
    MagneticHallSymbolEntry::new("F -4' 2 3", 1578),
    MagneticHallSymbolEntry::new("F -4 2 3 1abc'", 1579),
    MagneticHallSymbolEntry::new("I -4 2 3", 1580),
    MagneticHallSymbolEntry::new("I -4 2 3 1'", 1581),
    MagneticHallSymbolEntry::new("I -4' 2 3", 1582),
    MagneticHallSymbolEntry::new("P -4n 2 3", 1583),
    MagneticHallSymbolEntry::new("P -4n 2 3 1'", 1584),
    MagneticHallSymbolEntry::new("P -4n' 2 3", 1585),
    MagneticHallSymbolEntry::new("P -4n 2 3 1abc'", 1586),
    MagneticHallSymbolEntry::new("F -4c 2 3", 1587),
    MagneticHallSymbolEntry::new("F -4c 2 3 1'", 1588),
    MagneticHallSymbolEntry::new("F -4c' 2 3", 1589),
    MagneticHallSymbolEntry::new("F -4c 2 3 1abc'", 1590),
    MagneticHallSymbolEntry::new("I -4bd 2c 3", 1591),
    MagneticHallSymbolEntry::new("I -4bd 2c 3 1'", 1592),
    MagneticHallSymbolEntry::new("I -4bd' 2c 3", 1593),
    MagneticHallSymbolEntry::new("-P 4 2 3", 1594),
    MagneticHallSymbolEntry::new("-P 4 2 3 1'", 1595),
    MagneticHallSymbolEntry::new("P 4' 2 3 -1'", 1596),
    MagneticHallSymbolEntry::new("-P 4' 2 3", 1597),
    MagneticHallSymbolEntry::new("P 4 2 3 -1'", 1598),
    MagneticHallSymbolEntry::new("-P 4 2 3 1abc'", 1599),
    MagneticHallSymbolEntry::new("-P 4a 2bc 3", 1600),
    MagneticHallSymbolEntry::new("-P 4a 2bc 3 1'", 1601),
    MagneticHallSymbolEntry::new("P 4a' 2bc 3 -1'", 1602),
    MagneticHallSymbolEntry::new("-P 4a' 2bc 3", 1603),
    MagneticHallSymbolEntry::new("P 4a 2bc 3 -1'", 1604),
    MagneticHallSymbolEntry::new("-P 4a 2bc 3 1abc'", 1605),
    MagneticHallSymbolEntry::new("-P 4n 2 3", 1606),
    MagneticHallSymbolEntry::new("-P 4n 2 3 1'", 1607),
    MagneticHallSymbolEntry::new("P 4n' 2 3 -1'", 1608),
    MagneticHallSymbolEntry::new("-P 4n' 2 3", 1609),
    MagneticHallSymbolEntry::new("P 4n 2 3 -1'", 1610),
    MagneticHallSymbolEntry::new("-P 4n 2 3 1abc'", 1611),
    MagneticHallSymbolEntry::new("-P 4bc 2bc 3", 1612),
    MagneticHallSymbolEntry::new("-P 4bc 2bc 3 1'", 1613),
    MagneticHallSymbolEntry::new("P 4bc' 2bc 3 -1'", 1614),
    MagneticHallSymbolEntry::new("-P 4bc' 2bc 3", 1615),
    MagneticHallSymbolEntry::new("P 4bc 2bc 3 -1'", 1616),
    MagneticHallSymbolEntry::new("-P 4bc 2bc 3 1abc'", 1617),
    MagneticHallSymbolEntry::new("-F 4 2 3", 1618),
    MagneticHallSymbolEntry::new("-F 4 2 3 1'", 1619),
    MagneticHallSymbolEntry::new("F 4' 2 3 -1'", 1620),
    MagneticHallSymbolEntry::new("-F 4' 2 3", 1621),
    MagneticHallSymbolEntry::new("F 4 2 3 -1'", 1622),
    MagneticHallSymbolEntry::new("-F 4 2 3 1abc'", 1623),
    MagneticHallSymbolEntry::new("-F 4c 2 3", 1624),
    MagneticHallSymbolEntry::new("-F 4c 2 3 1'", 1625),
    MagneticHallSymbolEntry::new("F 4c' 2 3 -1'", 1626),
    MagneticHallSymbolEntry::new("-F 4c' 2 3", 1627),
    MagneticHallSymbolEntry::new("F 4c 2 3 -1'", 1628),
    MagneticHallSymbolEntry::new("-F 4c 2 3 1abc'", 1629),
    MagneticHallSymbolEntry::new("-F 4vw 2vw 3", 1630),
    MagneticHallSymbolEntry::new("-F 4vw 2vw 3 1'", 1631),
    MagneticHallSymbolEntry::new("F 4vw' 2vw 3 -1'", 1632),
    MagneticHallSymbolEntry::new("-F 4vw' 2vw 3", 1633),
    MagneticHallSymbolEntry::new("F 4vw 2vw 3 -1'", 1634),
    MagneticHallSymbolEntry::new("-F 4vw 2vw 3 1abc'", 1635),
    MagneticHallSymbolEntry::new("-F 4cvw 2vw 3", 1636),
    MagneticHallSymbolEntry::new("-F 4cvw 2vw 3 1'", 1637),
    MagneticHallSymbolEntry::new("F 4cvw' 2vw 3 -1'", 1638),
    MagneticHallSymbolEntry::new("-F 4cvw' 2vw 3", 1639),
    MagneticHallSymbolEntry::new("F 4cvw 2vw 3 -1'", 1640),
    MagneticHallSymbolEntry::new("-F 4cvw 2vw 3 1abc'", 1641),
    MagneticHallSymbolEntry::new("-I 4 2 3", 1642),
    MagneticHallSymbolEntry::new("-I 4 2 3 1'", 1643),
    MagneticHallSymbolEntry::new("I 4' 2 3 -1'", 1644),
    MagneticHallSymbolEntry::new("-I 4' 2 3", 1645),
    MagneticHallSymbolEntry::new("I 4 2 3 -1'", 1646),
    MagneticHallSymbolEntry::new("-I 4bd 2c 3", 1647),
    MagneticHallSymbolEntry::new("-I 4bd 2c 3 1'", 1648),
    MagneticHallSymbolEntry::new("I 4bd' 2c 3 -1'", 1649),
    MagneticHallSymbolEntry::new("-I 4bd' 2c 3", 1650),
    MagneticHallSymbolEntry::new("I 4bd 2c 3 -1'", 1651),
];

#[cfg(test)]
mod tests {
    use super::*;
    use crate::data::MagneticHallSymbol;

    fn iter_magnetic_hall_symbol_entry() -> impl Iterator<Item = &'static MagneticHallSymbolEntry> {
        MAGNETIC_HALL_SYMBOL_DATABASE.iter()
    }

    #[test]
    fn test_magnetic_hall_symbol_whole() {
        for entry in iter_magnetic_hall_symbol_entry() {
            let mhs = MagneticHallSymbol::new(entry.magnetic_hall_symbol).unwrap();
            let magnetic_operations = mhs.traverse();
            assert!(magnetic_operations.len() > 0);
            assert!(magnetic_operations.len() <= 96);
            assert_eq!(96 % mhs.traverse().len(), 0);
        }
    }
}
