I go through so many gyrations to figure out supported device types. There should be a boolean that says if a device is supported or not. Like the CertVerify boolean. Also, I'd like to role map using the DeviceOS which the Authentication report gives, but cannot be accessed any other way. This would simplify user agent string manipulations. I really shouldn't have to do this:
userAgent = '*Pulse*' &&
userAgent = '*NcWin32*' &&
userAgent = '*Windows NT 10.0*' &&
userAgent = '*Windows NT 6.3*' &&
userAgent = '*Windows NT 6.2*' &&
userAgent = '*Windows NT 6.1*' &&
userAgent = '*Windows NT 6.0*' &&
userAgent = '*Windows NT 5.1*' &&
userAgent = '*Mac OS X 10_12*' &&
userAgent = '*Mac OS X 10_11*' &&
userAgent = '*Mac OS X 10_10*' &&
userAgent = '*Mac OS X 10_9*' &&
userAgent = '*Mac OS X 10_8*' &&
userAgent = '*Mac OS X 10_7*' &&
userAgent = '*Mac OS X 10_6*' &&
userAgent = '*iPhone*OS 10_*' &&
userAgent = '*iPhone*OS 9_*' &&
userAgent = '*iPhone*OS 8_*' &&
userAgent = '*iPhone*OS 7_*' &&
userAgent = '*iPhone*OS 6_*' &&
userAgent = '*iPhone*OS 5_*' &&
userAgent = '*iPad*OS 10_*' &&
userAgent = '*iPad*OS 9_*' &&
userAgent = '*iPad*OS 8_*' &&
userAgent = '*iPad*OS 7_*' &&
userAgent = '*iPad*OS 6_*' &&
userAgent = '*iPad*OS 5_*' &&
userAgent = '*X11*Linux*' &&
userAgent = '*ChromeOS*' &&
userAgent = '*CrOS*' &&
userAgent = '*Android 7.1*' &&
userAgent = '*Android 7.0*' &&
userAgent = '*Android 6.0*' &&
userAgent = '*Android 5.1*' &&
userAgent = '*Android 5.0*' &&
userAgent = '*Android 4.*' &&
userAgent = '*Android 3.*' &&
userAgent = '*Android 2.3*'