5d31f4389e
Extracts the 35-carrier logo path table from OperatorLogo into a shared pure module (src/shared/operatorIcon.ts) so the mapping can be tested and reused independently. Adds the 7-range SU flight-number fallback that the TZ requires when OperatingBy is null — SU5000-5399 shows Pobeda (DP), SU5400-5799 shows Aurora (HZ), SU6000-6999 shows Rossiya (FV), and the 3000-4999 / 5800-5999 bands explicitly render no logo. 63 table-driven tests lock in every range boundary and carrier entry. FlightCard and ScheduleFlightBody both apply the range resolution before falling back to the flight's own carrier code.