Sync upstream to https://github.com/Chatterino/chatterino2/commit/6ddd9af2a313e07848280bb0ed7909e43db52a69
Sync upstream to https://github.com/Chatterino/chatterino2/commit/06ff15a0290696769ee44169d12230f131674ee5
chat_tools_compare_logs.py: work better with hollow shells
Sync upstream to https://github.com/Chatterino/chatterino2/commit/79878f3ec5e7dcae489cd02ad2748dce59315f2e
chat_tools_compare_logs.py: classify empty TDL body on RedeemedHighlight as benign
chat_tools_compare_logs.py: fix offline marker; classify messages before VOD start; report for system events; other comparisons
Sync upstream to https://github.com/Chatterino/chatterino2/commit/ead3f72f3b437814a3957288815ab62dcc4c0c50
Sync upstream to https://github.com/Chatterino/chatterino2/commit/7f00e801f48212702907830fcccf9b2c2fcc430d