_POSIX_C_SOURCE
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
#ifndef _POSIX_C_SOURCE
#ifndef _POSIX_C_SOURCE
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
!defined(_XOPEN_SOURCE)) || ((_POSIX_C_SOURCE - 0) >= 200112L || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if (_POSIX_C_SOURCE - 0 >= 202405L) || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 200112L || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0) >= 800 || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
(_POSIX_C_SOURCE - 0) >= 200112L
#if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
!defined(_XOPEN_SOURCE)) || ((_POSIX_C_SOURCE - 0) >= 200809L || \
#if defined(__MATH_C99_FEATURES) || (_POSIX_C_SOURCE - 0) >= 200112L
(_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
(_XOPEN_SOURCE - 0) >= 500 || (_POSIX_C_SOURCE - 0) >= 200809L || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0L) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(__STDIO_C99_FEATURES) || (_POSIX_C_SOURCE - 0) >= 199506L || \
#if (_POSIX_C_SOURCE - 0) >= 2 || (_XOPEN_SOURCE - 0) >= 2 || \
#if defined(__STDIO_C99_FEATURES) || (_POSIX_C_SOURCE - 0) >= 200112L || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
!defined(_XOPEN_SOURCE)) || ((_POSIX_C_SOURCE - 0) >= 200809L || \
#if (defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if defined(_POSIX_C_SOURCE)
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 202405L || \
#if (_POSIX_C_SOURCE - 0) >= 202405L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 202405L) || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 200809L) || defined(_NETBSD_SOURCE) || \
#if (_POSIX_C_SOURCE - 0 >= 200809L) || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 200809L) || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 200112L) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 202405L) || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 200809L) || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 200809L) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0 >= 200112L) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
#if ((_POSIX_C_SOURCE - 0) >= 199506L && (_POSIX_C_SOURCE - 0) < 202405L) || \
#if (_POSIX_C_SOURCE - 0) >= 199506L || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
(_POSIX_C_SOURCE - 0) >= 202405L
#if (_POSIX_C_SOURCE - 0) >= 2 || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600 || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if defined(_XOPEN_SOURCE) || (_POSIX_C_SOURCE - 0) >= 200809L || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0 >= 800) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
#if defined(_POSIX_C_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0 >= 800) || \
(_POSIX_C_SOURCE - 0 >= 200112L) || (_XOPEN_SOURCE - 0) >= 600
(_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
(_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if defined(_POSIX_C_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
&& ((!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) \
|| (_POSIX_C_SOURCE - 0) >= 200112L \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) \
|| (_POSIX_C_SOURCE - 0) >= 200112L \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) \
|| (_POSIX_C_SOURCE - 0) >= 200112L \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if defined(_ISOC99_SOURCE) || (_POSIX_C_SOURCE - 0) > 200112L || \
(_POSIX_C_SOURCE - 0) >= 200112L || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0 >= 800) || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0 >= 800) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
#if ((_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500) && \
#if defined(_XOPEN_SOURCE) && !defined(_POSIX_C_SOURCE)
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
((_POSIX_C_SOURCE - 0) >= 200112L) || \
#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0 >= 800) || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
(_XOPEN_SOURCE - 0) >= 500 || (_POSIX_C_SOURCE - 0) >= 200809L || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
(_XOPEN_SOURCE - 0) >= 500 || (_POSIX_C_SOURCE - 0) >= 200809L || \
(_XOPEN_SOURCE - 0) >= 500 || (_POSIX_C_SOURCE - 0) >= 200809L || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || defined(_NETBSD_SOURCE)
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
(_XOPEN_SOURCE - 0) >= 500 || (_POSIX_C_SOURCE - 0) >= 200809L || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if ((_POSIX_C_SOURCE - 0) >= 200112L) || defined(_XOPEN_SOURCE) || \
#if ((_POSIX_C_SOURCE - 0) >= 200112L) || ((_XOPEN_SOURCE - 0) >= 600) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
#if (_POSIX_C_SOURCE - 0) >= 199309L || defined(_NETBSD_SOURCE)
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || \
#if (_POSIX_C_SOURCE - 0) >= 200112L || \
#if (_POSIX_C_SOURCE - 0L) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \