// NOTE: this list must be up-to-date with browsers listed in // test/acceptance/useragentstrings.yml export const BROWSER_ALIASES_MAP = { AmazonBot: 'amazonbot', 'Amazon Silk': 'amazon_silk', 'Android Browser': 'android', BaiduSpider: 'baiduspider', Bada: 'bada', BingCrawler: 'bingcrawler', BlackBerry: 'blackberry', Chrome: 'chrome', 'ChatGPT-User': 'chatgpt_user', ClaudeBot: 'claudebot', Chromium: 'chromium', Diffbot: 'diffbot', DuckDuckBot: 'duckduckbot', Electron: 'electron', Epiphany: 'epiphany', FacebookExternalHit: 'facebookexternalhit', Firefox: 'firefox', Focus: 'focus', Generic: 'generic', 'Google Search': 'google_search', Googlebot: 'googlebot', GPTBot: 'gptbot', 'Internet Explorer': 'ie', InternetArchiveCrawler: 'internetarchivecrawler', 'K-Meleon': 'k_meleon', Maxthon: 'maxthon', 'Meta-WebIndexer': 'meta_webindexer', 'Microsoft Edge': 'edge', 'MZ Browser': 'mz', 'NAVER Whale Browser': 'naver', 'OAI-SearchBot': 'oai_searchbot', Omgilibot: 'omgilibot', Opera: 'opera', 'Opera Coast': 'opera_coast', 'Pale Moon': 'pale_moon', PerplexityBot: 'perplexitybot', 'Perplexity-User': 'perplexity_user', PhantomJS: 'phantomjs', PingdomBot: 'pingdombot', Puffin: 'puffin', QQ: 'qq', QQLite: 'qqlite', QupZilla: 'qupzilla', Roku: 'roku', Safari: 'safari', Sailfish: 'sailfish', 'Samsung Internet for Android': 'samsung_internet', SeaMonkey: 'seamonkey', Sleipnir: 'sleipnir', Swing: 'swing', Tizen: 'tizen', 'UC Browser': 'uc', Vivaldi: 'vivaldi', 'WebOS Browser': 'webos', WeChat: 'wechat', YahooSlurp: 'yahooslurp', 'Yandex Browser': 'yandex', YandexBot: 'yandexbot', YouBot: 'youbot', }; export const BROWSER_MAP = { amazonbot: 'AmazonBot', amazon_silk: 'Amazon Silk', android: 'Android Browser', baiduspider: 'BaiduSpider', bada: 'Bada', bingcrawler: 'BingCrawler', blackberry: 'BlackBerry', chrome: 'Chrome', chatgpt_user: 'ChatGPT-User', claudebot: 'ClaudeBot', chromium: 'Chromium', diffbot: 'Diffbot', duckduckbot: 'DuckDuckBot', edge: 'Microsoft Edge', electron: 'Electron', epiphany: 'Epiphany', facebookexternalhit: 'FacebookExternalHit', firefox: 'Firefox', focus: 'Focus', generic: 'Generic', google_search: 'Google Search', googlebot: 'Googlebot', gptbot: 'GPTBot', ie: 'Internet Explorer', internetarchivecrawler: 'InternetArchiveCrawler', k_meleon: 'K-Meleon', maxthon: 'Maxthon', meta_webindexer: 'Meta-WebIndexer', mz: 'MZ Browser', naver: 'NAVER Whale Browser', opera: 'Opera', opera_coast: 'Opera Coast', oai_searchbot: 'OAI-SearchBot', omgilibot: 'Omgilibot', pale_moon: 'Pale Moon', perplexitybot: 'PerplexityBot', perplexity_user: 'Perplexity-User', phantomjs: 'PhantomJS', pingdombot: 'PingdomBot', puffin: 'Puffin', qq: 'QQ Browser', qqlite: 'QQ Browser Lite', qupzilla: 'QupZilla', roku: 'Roku', safari: 'Safari', sailfish: 'Sailfish', samsung_internet: 'Samsung Internet for Android', seamonkey: 'SeaMonkey', sleipnir: 'Sleipnir', swing: 'Swing', tizen: 'Tizen', uc: 'UC Browser', vivaldi: 'Vivaldi', webos: 'WebOS Browser', wechat: 'WeChat', yahooslurp: 'YahooSlurp', yandex: 'Yandex Browser', yandexbot: 'YandexBot', youbot: 'YouBot', }; export const PLATFORMS_MAP = { bot: 'bot', desktop: 'desktop', mobile: 'mobile', tablet: 'tablet', tv: 'tv', }; export const OS_MAP = { Android: 'Android', Bada: 'Bada', BlackBerry: 'BlackBerry', ChromeOS: 'Chrome OS', HarmonyOS: 'HarmonyOS', iOS: 'iOS', Linux: 'Linux', MacOS: 'macOS', PlayStation4: 'PlayStation 4', Roku: 'Roku', Tizen: 'Tizen', WebOS: 'WebOS', Windows: 'Windows', WindowsPhone: 'Windows Phone', }; export const ENGINE_MAP = { Blink: 'Blink', EdgeHTML: 'EdgeHTML', Gecko: 'Gecko', Presto: 'Presto', Trident: 'Trident', WebKit: 'WebKit', };