SPDX-FileCopyrightText: 2016 Aleksandar Nikolic SPDX-FileCopyrightText: 2019-2021 Marc "van Hauser" Heuse SPDX-FileCopyrightText: 2024 Nguyễn Gia Phong SPDX-License-Identifier: Apache-2.0