SPDX-FileCopyrightText: 2018-2020 Marc "van Hauser" Heuse SPDX-FileCopyrightText: 2024 Nguyễn Gia Phong SPDX-License-Identifier: Apache-2.0