package entity

const (
	ModelNone         = ""
	ModelUnknown      = "Unknown"
	ModelSlideNScan   = "Slide N Scan"
	ModelDigitDia7000 = "DigitDia 7000"
	ModelPhotoScan    = "PhotoScan"
	ModelCanoScan     = "CanoScan"
	ModelPerfection   = "Perfection"
	ModelFastFoto     = "FastFoto"
	ModelOpticFilm    = "OpticFilm"
	ModelScanSnap     = "ScanSnap"
	ModelMSScanner    = "MS Scanner"
	ModelIPhone       = "iPhone"
	ModelIPhoneSE     = "iPhone SE"
	ModelIPad         = "iPad"
	ModelIPadAir      = "iPad Air"
	ModelIPadPro      = "iPad Pro"
)

// CameraModels maps internal model identifiers to normalized names.
var CameraModels = map[string]string{
	// Mobile Devices:
	"Z00AD":                      "Zenfone 2",
	"AI2302":                     "Zenfone 10",
	"_AI2302":                    "Zenfone 10",
	"ASUS_AI2302":                "Zenfone 10",
	"Blackberry Q5":              "BlackBerry Q5",
	"Blackberry Q10":             "BlackBerry Q10",
	"Blackberry Z10":             "BlackBerry Z10",
	"Blackberry Z3":              "BlackBerry Z3",
	"Blackberry Z30":             "BlackBerry Z30",
	"Blackberry Leap":            "BlackBerry Leap",
	"Blackberry Classic":         "BlackBerry Classic",
	"Blackberry Passport":        "BlackBerry Passport",
	"iPhone SE (1st generation)": ModelIPhoneSE,
	"iPhone SE (2nd generation)": ModelIPhoneSE,
	"iPhone SE (3rd generation)": ModelIPhoneSE,
	"iPhone SE (4th generation)": ModelIPhoneSE,
	"iPhone SE (5th generation)": ModelIPhoneSE,
	"iPad (1st generation)":      ModelIPad,
	"iPad (2nd generation)":      ModelIPad,
	"iPad (3rd generation)":      ModelIPad,
	"iPad (4th generation)":      ModelIPad,
	"iPad (5th generation)":      ModelIPad,
	"iPad Air (1st generation)":  ModelIPadAir,
	"iPad Air (2nd generation)":  ModelIPadAir,
	"iPad Air (3rd generation)":  ModelIPadAir,
	"iPad Air (4th generation)":  ModelIPadAir,
	"iPad Air (5th generation)":  ModelIPadAir,
	"iPad Pro (1st generation)":  ModelIPadPro,
	"iPad Pro (2nd generation)":  ModelIPadPro,
	"iPad Pro (3rd generation)":  ModelIPadPro,
	"iPad Pro (4th generation)":  ModelIPadPro,
	"iPad Pro (5th generation)":  ModelIPadPro,
	"GT-I9300":                   "Galaxy S3",
	"SPH-L720":                   "Galaxy S4",
	"SM-G920T":                   "Galaxy S6",
	"SM-G925T":                   "Galaxy S6 edge",
	"SM-G935T":                   "Galaxy S7 edge",
	"SM-G950F":                   "Galaxy S8",
	"SM-G955U1":                  "Galaxy S8+",
	"SM-G965F":                   "Galaxy S9+",
	"SM-G973U1":                  "Galaxy S10",
	"SM-G780F":                   "Galaxy S20",
	"SM-G781B":                   "Galaxy S20 FE",
	"SM-G991A":                   "Galaxy S21",
	"SM-G991B":                   "Galaxy S21",
	"SM-G990A":                   "Galaxy S21 FE",
	"SM-G990B":                   "Galaxy S21 FE",
	"SM-G996A":                   "Galaxy S21+",
	"SM-G996B":                   "Galaxy S21+",
	"SM-G996U1":                  "Galaxy S21+ 5G",
	"SM-G998A":                   "Galaxy S21 Ultra",
	"SM-G998B":                   "Galaxy S21 Ultra",
	"SM-S911A":                   "Galaxy S23",
	"SM-S911B":                   "Galaxy S23",
	"SM-S916A":                   "Galaxy S23+",
	"SM-S916B":                   "Galaxy S23+",
	"SM-S918A":                   "Galaxy S23 Ultra",
	"SM-S918B":                   "Galaxy S23 Ultra",
	"SM-A716U":                   "Galaxy A71 5G",
	"SM-F711U1":                  "Galaxy Z Flip3 5G",
	"SM-F721U1":                  "Galaxy Z Flip4",
	"SM-F926U1":                  "Galaxy Z Fold3",
	"SM-F936U1":                  "Galaxy Z Fold4",
	"SM-N920V":                   "Galaxy Note5",
	"SM-N960U1":                  "Galaxy Note9",
	"SM-N981U1":                  "Galaxy Note 20 5G",
	"SM-T320":                    "Galaxy Tab Pro 8.4",
	"SM-T817T":                   "Galaxy Tab S2 9.7",
	"WAS-LX1":                    "P10 lite",
	"WAS-LX2":                    "P10 lite",
	"WAS-LX3":                    "P10 lite",
	"WAS-LX1A":                   "P10 lite",
	"WAS-LX2J":                   "P10 lite",
	"WAS-L03T":                   "P10 lite",
	"WAS-AL00":                   "P10 lite",
	"WAS-TL10":                   "P10 lite",
	"VTR-L29":                    "P10",
	"VTR-AL00":                   "P10",
	"VTR-TL00":                   "P10",
	"VTR-L09":                    "P10",
	"EML-AL00":                   "P20",
	"EML-L09":                    "P20",
	"EML-L09C":                   "P20",
	"EML-L29":                    "P20",
	"EML-L29C":                   "P20",
	"CLT-AL00":                   "P20 Pro",
	"CLT-AL01":                   "P20 Pro",
	"CLT-TL01":                   "P20 Pro",
	"CLT-L09":                    "P20 Pro",
	"CLT-L29":                    "P20 Pro",
	"ELE-L29":                    "P30",
	"ELE-AL00":                   "P30",
	"ELE-L04":                    "P30",
	"ELE-L09":                    "P30",
	"ELE-TL00":                   "P30",
	"VOG-L29":                    "P30 Pro",
	"VOG-L09":                    "P30 Pro",
	"VOG-L04":                    "P30 Pro",
	"VOG-AL00":                   "P30 Pro",
	"VOG-AL10":                   "P30 Pro",
	"VOG-TL00":                   "P30 Pro",
	"MAR-L01A":                   "P30 lite",
	"MAR-L21A":                   "P30 lite",
	"MAR-LX1A":                   "P30 lite",
	"MAR-LX1M":                   "P30 lite",
	"MAR-LX2":                    "P30 lite",
	"MAR-L21MEA":                 "P30 lite",
	"MAR-L22A":                   "P30 lite",
	"MAR-L22B":                   "P30 lite",
	"MAR-LX3A":                   "P30 lite",
	"ANA-AN00":                   "P40",
	"ANA-TN00":                   "P40",
	"ELS-AN00":                   "P40 Pro",
	"ELS-TN00":                   "P40 Pro",
	"ELS-NX9":                    "P40 Pro",
	"ELS-N04":                    "P40 Pro",
	"JNY-L21A":                   "P40 lite",
	"JNY-L01A":                   "P40 lite",
	"JNY-L21B":                   "P40 lite",
	"JNY-L22A":                   "P40 lite",
	"JNY-L02A":                   "P40 lite",
	"JNY-L22B":                   "P40 lite",
	"STK-LX1":                    "Honor 9X",
	"HLK-AL00":                   "Honor 9X",
	"HLK-TL00":                   "Honor 9X",
	"SNE-AL00":                   "Mate 20 lite",
	"SNE-LX1":                    "Mate 20 lite",
	"SNE-LX2":                    "Mate 20 lite",
	"SNE-LX3":                    "Mate 20 lite",
	"INE-LX2":                    "Mate 20 lite",
	"HMA-L29":                    "Mate 20",
	"HMA-L09":                    "Mate 20",
	"HMA-LX9":                    "Mate 20",
	"HMA-AL00":                   "Mate 20",
	"HMA-TL00":                   "Mate 20",
	"LYA-L09":                    "Mate 20 Pro",
	"LYA-L29":                    "Mate 20 Pro",
	"LYA-AL00":                   "Mate 20 Pro",
	"LYA-AL10":                   "Mate 20 Pro",
	"LYA-TL00":                   "Mate 20 Pro",
	"LYA-L0C":                    "Mate 20 Pro",
	"TAS-L09":                    "Mate 30",
	"TAS-L29":                    "Mate 30",
	"TAS-AL00":                   "Mate 30",
	"TAS-TL00":                   "Mate 30",
	"LIO-L09":                    "Mate 30 Pro",
	"LIO-L29":                    "Mate 30 Pro",
	"LIO-AL00":                   "Mate 30 Pro",
	"LIO-TL00":                   "Mate 30 Pro",
	"FC220":                      "Mavic Pro",
	"A6013":                      "6T", // OnePlus
	"PH-1":                       "Essential Phone",
	"PC36100":                    "Evo 4G",
	"LG-V521":                    "G Pad X 8.0",
	// Digital Cameras:
	"LG-R105":    "360 CAM",
	"LGUS991":    "G4",
	"QJXJ01FJ":   "Mi Sphere",
	"DSC-W30":    "Cybershot DSC-W30",
	"SLT-A58":    "Alpha 58",
	"ILCE-1":     "Alpha 1",
	"ILCE-7C":    "Alpha 7C",
	"ILCE-7CL":   "Alpha 7C",
	"ILCE-7SM3":  "Alpha 7S III",
	"ILCA-77":    "Alpha 77",
	"ILCA-77M2":  "Alpha 77 II",
	"ILCA-99":    "Alpha 99",
	"ILCA-99M2":  "Alpha 99 II",
	"ILCE-5000":  "Alpha 5000",
	"ILCE-5100L": "Alpha 5100",
	"ILCE-5100Y": "Alpha 5100",
	"ILCE-6000":  "Alpha 6000",
	"ILCE-6100":  "Alpha 6100",
	"ILCE-6100L": "Alpha 6100",
	"ILCE-6100Y": "Alpha 6100",
	"ILCE-6300":  "Alpha 6300",
	"ILCE-6300L": "Alpha 6300",
	"ILCE-6300M": "Alpha 6300",
	"ILCE-6400":  "Alpha 6400",
	"ILCE-6400L": "Alpha 6400",
	"ILCE-6400M": "Alpha 6400",
	"ILCE-6600":  "Alpha 6600",
	"ILCE-6600M": "Alpha 6600",
	"ILCE-6700":  "Alpha 6700",
	"ILCE-7S":    "Alpha 7S",
	"ILCE-7R":    "Alpha 7R",
	"ILCE-7RM4A": "Alpha 7R IV",
	"ILCE-7RM3A": "Alpha 7R III",
	"ILCE-7RM3":  "Alpha 7R III",
	"ILCE-7RM2":  "Alpha 7R II",
	"ILCE-7M3":   "Alpha 7 III",
	"ILCE-7M3G":  "Alpha 7 III",
	"ILCE-7M3K":  "Alpha 7 III",
	"ILCE-7M2":   "Alpha 7 II",
	"ILCE-7":     "Alpha 7",
	"ILCE-7K":    "Alpha 7",
	"ILCE-7CR":   "Alpha 7CR",
	"ILCE-7CM2":  "Alpha 7C II",
	"ILCE-7RM5":  "Alpha 7R V",
	"ILCE-7M4":   "Alpha 7 IV",
	"ILCE-7M4K":  "Alpha 7 IV",
	"ILCE-9":     "Alpha 9",
	"ILME-FX6T":  "FX6 Cinema Line",
	"ILME-FX6TK": "FX6 Cinema Line",
	"ILME-FX6V":  "FX6 Cinema Line",
	"ILME-FX6VK": "FX6 Cinema Line",
	// Film Scanners:
	"170 7472F20EEC14": ModelPhotoScan,
	"RODFS40":          ModelSlideNScan,
	"RODFS50":          ModelSlideNScan,
	"RODFS60":          ModelSlideNScan,
	"RODFS70":          ModelSlideNScan,
	"RODFS80":          ModelSlideNScan,
	"RODFS90":          ModelSlideNScan,
	"SLIDE N SCAN":     ModelSlideNScan,
}
