Registry writes 'Республика Северная Осетия - Алания' (hyphen) while the canonical name uses an em-dash. Replace ' - ' with ' — ' before lookup — safe because no canonical name contains a space-surrounded hyphen. Unit-tested.
Extend RussianRegions::canonicalRegionName for the long tail of registry formats: ' АО' -> ' автономный округ', generic 'Республика X' -> 'X Республика' (Чеченская/Кабардино-Балкарская/Карачаево-Черкесская/Донецкая Народная/ Луганская Народная/Удмуртская), ХМАО marker heuristic, plus aliases for Саха /Якутия/, Чувашия - Чувашия, Кузбасс область, Город Москва, Санкт - Петербург. Republika-first canonicals stay as-is. Unit-tested (21 GREEN).
RussianRegions::canonicalRegionName + resolveSubjectCode: take last pipe segment, expand обл.->область, alias federal cities / Удмуртская / Кузбасс. Fixes 98% unmapped phone_ranges (exact-match -> normalized). Unit-tested.